我正在尝试循环来创建交叉表。我的数据集是:21列,1300行。 我想为第1列创建第1列的交叉表,列1包含第2列,列1包含第3列,...,第1列包含第21列。 我使用函数“table”并尝试循环。她是我的代码:
x=data
for (i in length (x)){tab[i]=table(x[,1],x[i])
其中tab是交叉表的输出。
我尝试跑,但失败了。你能告诉我如何解决这个问题吗? 它给出了20个相同的警告: 在tab [i] = table(x [,1],x [,i])中 要替换的项目数量不是替换长度的倍数
答案 0 :(得分:0)
可能有帮助
set.seed(25)
mat1 <- matrix( sample(1:10, 100,replace=TRUE), 10,10)
fun1 <- function(dat, colN) {
tab <- vector("list", colN)
for (i in seq_len(ncol(dat))) {
tab[[i]] <- table(dat[, 1], dat[, i])
}
tab
}
res <- fun1(mat1, 10) ##change the column number accordingly