【发布时间】:2021-04-04 17:48:59
【问题描述】:
我正在学习 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”类对象的“过滤器”方法
【问题讨论】:
-
你读取了
df(df <- read.table("H-W.csv", sep = ",")) 中的数据,然后你使用的是dat %>%....,那不应该是df %>% ...吗? -
嗨罗纳克。我尝试使用 df 而不是 dat %>%,它给出了以下错误错误:
filter()输入问题..1。 x 对象“场景”未找到 i 输入..1是“场景!=“NULL” -
如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。
标签: r