【发布时间】:2021-04-13 16:01:21
【问题描述】:
我在尝试使用 ddply 生成表时遇到问题:
ddply(Data, .(Data$Condition), summarise, n = length(Data$Condition),
mean = mean(Data$Composite), std = sd(Data$Composite), var = var(Data$Composite))
出现以下错误:
Error in `[.data.frame`(col, i) : undefined columns selected
但是,我试图在 ddply 中使用的 df 中的列已明确定义。我也在 R 中对此进行了测试,显然是 R:
- 可以检索它们的值
- 了解他们的数据类
- Data$Condition 显然是一个对象,Data$Composite 不是一个对象
- 根据exists(),两列都不存在
请看下面的代码和结果:
数据$条件 [1] 高 中 低 低 高
级别:高低中零
数据$复合 [1] 5.454545 3.545455 5.545455 5.818182 5.272727
data.class(Data$Condition) [1] “因素”
data.class(Data$Composite) [1] “数字”
is.object(数据$条件) [1] 是的
is.object(Data$Composite) [1] 错误
存在(数据$条件) 存在错误(Data$Condition):第一个参数无效
存在(数据$复合) 存在错误(Data$Composite):第一个参数无效
为了让事情变得更奇怪,以下代码可以正常工作:
Data %>%
group_by(Condition) %>%
summarise_at(vars(Composite), funs(mean(., na.rm=TRUE)))
【问题讨论】: