You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:28:11