问题描述
我正在学习 R 并处理包含多个重复列的数据集,比如给定列重复 200 次 200 次。
我想取每列的平均值,并将组取每个变量的平均值。因此,每个变量的均值将有 200 个值。我想制作一个 line chart 这样的每个变量的平均值。 我正在尝试这些代码
library(data.table)
library(tidyverse)
library(ggplot2)
library(viridisLite)
df <- read.table("H-W.csv",sep = ",")
df
dat %>% filter(Scenario != 'NULL') %>%
mutate("Scenario" = ifelse(Scenario == 'NULL2',"BASELINE",Scenario)) %>%
group_by(.dots = c("X.step.","Scenario")) %>%
summarise('height.people' = mean(height),'weight.people' = mean(weight),"wealth.people" = mean(wealth)) %>%
pivot_longer(c('height.people','weight.people','wealth.people')) %>%
ggplot(aes(x = X.step.,y = value,colour = Scenario)) +
geom_line(size = 1) + facet_grid(name~.,scales = "free_y") + theme_classic() +
scale_colour_viridis_d() + scale_y_log10()
我发现了这个错误
UseMethod("filter") 中的错误: 没有适用于“NULL”类对象的“过滤器”方法
解决方法
我想你可能和this有同样的问题...
您的数据是在 data.frame 还是 tibble 中?
其他明智的,如果这不起作用试试这个......
filter 是 stats 和 dplyr 中的一个函数, 所以你可以尝试改变
dat %>% filter(Scenario != 'NULL') %>%
到
dat %>% dplyr::filter(Scenario != "NULL") %>%