我想使用嵌入在其他向量中的describe()
个传递向量,以便可以在for
循环中使用该函数。
我有以下数据,其中包含一组学生的成绩。
我想获得描述性统计数据,将130位学生分为5个不同的组,因此我为每个组创建一个子集。
pr3 <- read.csv("data.csv", head = T, sep = ";")
G1A <- subset(pr3, group == "1A")
G1B<- subset(pr3, group == "1B")
现在按以下方式调用describe()
可以正常工作:
describe(G1A)
但是,将子集分组为向量names
并将索引names
传递给describe()
无效:
names <- c(G1A, G1B)
describe(names[1])
Error in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) :
is.atomic(x) is not TRUE
In addition: Warning message:
In mean.default(x, na.rm = na.rm) :
argument is not numeric or logical: returning NA
>
我如何使它工作?
答案 0 :(得分:1)
您不能将子集/数据帧放置在矢量中并以这种方式调用它们。
如果您调用str(names[1])
来查看向量的结构,则会看到为什么它不起作用。
相反,您可能想将两个数据框放在列表中,以便用第二行调用它们。像这样:
names <- list(G1A, G1B)
describe(names[1])