我是 R 初学者。 我想创建一个 3 维数组,但我无法定义每个维度的长度。 我正在分析学生在类里面的成绩。有10个类(class),但学生人数不同。而“等级”将为100-90、89-80、79-70……直到有学生获得相关分数。 我打算对多个数组使用几个 for 循环。 如果我创建一个 3 暗淡数组,
arr<-array(data, dim=c(??,??,??)), dimnames= list("class","grade","average Marks") )
最佳答案
您确实不想为此使用矩阵。数据框允许您混合使用多种数据类型。
clasIDs <- c("Firsthour", "Secondhour", "Thirdhour")
class.size <-c(3, 5, 2) # small sizes for illustration
cls.frame <- data.frame(clasID=rep(clasIDs, class.size),
student.ID = unlist(sapply(class.size, function(x) seq(from=1, to=x))),
grade=factor(rep(NA,10) , levels=c("100-90", "89-80", "79-70")) )
> cls.frame
clasID student.ID grade
1 Firsthour 1 <NA>
2 Firsthour 2 <NA>
3 Firsthour 3 <NA>
4 Secondhour 1 <NA>
5 Secondhour 2 <NA>
6 Secondhour 3 <NA>
7 Secondhour 4 <NA>
8 Secondhour 5 <NA>
9 Thirdhour 1 <NA>
10 Thirdhour 2 <NA>
关于arrays - 创建不同长度的 3 维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3223303/