基于日期绘制数据集直方图问题求助(R语言hist()函数)
解决R语言管道结合hist()绘制筛选数据直方图的报错问题
错误原因分析
你的代码报错是因为管道传递的是筛选后的整个数据框,而hist()函数的第一个参数需要的是数值向量,不是数据框。同时你传入的WPTD2$PerpDist是原数据集的列,不是筛选后的数据,既不符合需求也会导致参数传递混乱。
两种可行的解决方法
方法1:用pull()提取目标列(推荐)
pull()可以从数据框中提取指定列并转化为数值向量,直接满足hist()的输入要求:
WPTD2 %>% filter(Date == 44915) %>% pull(PerpDist) %>% hist()
方法2:明确指定hist()的x参数
用.指代管道传递的筛选后数据集,直接引用其PerpDist列作为hist()的输入:
WPTD2 %>% filter(Date == 44915) %>% hist(x = .$PerpDist)
验证说明
两种方法都能确保hist()接收的是筛选后的Date=44915对应的PerpDist数值向量,和你直接绘制整个数据集的hist(WPTD2$PerpDist)逻辑一致,同时适配管道语法。
内容的提问来源于stack exchange,提问作者Eonear Black
相关产品推荐
相关产品推荐

