arrays - 创建不同长度的 3 维数组

标签 arrays r grouping

我是 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/

相关文章:

c++ - 将 std::string 复制到 char*(对于 TCP/IP 套接字)

r - 当两个数据框具有不同的列集时,按行合并两个数据框(rbind)

r - 在 UTF-8 域中使用 urltools::url_parse

Rmarkdown 并排表格间距

neo4j group by 和 sum 值

algorithm - 具有需求的分组算法

javascript - 如何使用带有文本输入的 Javascript 检查数组中的值

c# - 如何比较两个 char[] 数组的等价性?

lambda - 映射结果上的 Collectors.groupingBy 到嵌套映射

c - 即使在调试我的程序时也无法弄清楚整数值为何发生变化?