R语言带条件直方图绘制求助:筛选Signatory=1的剩余寿命直方图
解决方法
基础R快速实现
不用ggplot的话,直接用你熟悉的hist()函数就能搞定,只要先筛选出wsignatory_dummy == 1的样本:
# 注意:如果wsignatory_dummy是字符型变量,就写成 == "1" hist(subset(data_all, wsignatory_dummy == 1)$Remaining_lifetime)
ggplot正确写法
你的原代码有几个小错误,修正后就能运行:
# 方式1:在data参数中直接筛选 ggplot(data = subset(data_all, wsignatory_dummy == 1), aes(x = Remaining_lifetime)) + geom_histogram()
如果习惯用dplyr筛选数据,写法更清晰:
# 第一次用需要先运行 install.packages("dplyr") library(dplyr) ggplot(data = data_all %>% filter(wsignatory_dummy == 1), aes(x = Remaining_lifetime)) + geom_histogram()
原代码错误总结
- 函数名拼写错误:
gplot→ggplot - 图层选择错误:直方图要用
geom_histogram(),geom_bar()是用来画离散类别计数的 - 数据源引用冗余:aes内无需指定
data_all$,已通过ggplot的data参数指定了筛选后的数据 - 括号位置错误:
ggplot()的括号要先闭合,再用+连接图层
内容的提问来源于stack exchange,提问作者Lilly
相关产品推荐
相关产品推荐

