【发布时间】:2017-03-25 03:41:59
【问题描述】:
我正在尝试从此数据框中获取频率表:
tmp2 <- structure(list(a1 = c(1L, 0L, 0L), a2 = c(1L, 0L, 1L),
a3 = c(0L, 1L, 0L), b1 = c(1L, 0L, 1L),
b2 = c(1L, 0L, 0L), b3 = c(0L, 1L, 1L)),
.Names = c("a1", "a2", "a3", "b1", "b2", "b3"),
class = "data.frame", row.names = c(NA, -3L))
tmp2 <- read.csv("tmp2.csv", sep=";")
tmp2
> tmp2
a1 a2 a3 b1 b2 b3
1 1 1 0 1 1 0
2 0 0 1 0 0 1
3 0 1 0 1 0 1
我尝试获取如下频率表:
table(tmp2[,1:3], tmp2[,4:6])
但我明白了:
sort.list(y) 中的错误:对于“sort.list”,“x”必须是原子的
您是否在列表中调用了“排序”?
预期输出:
信息:不需要方阵,例如我应该能够添加 b4 b5 并保留 a1 a2 a3
【问题讨论】:
-
为什么是
a2 b12? -
在 tmp2 中支持 1 行 = 1 个客户端。所以 2 个客户有 a2 和 b1
-
crossprod在这里也很有用;crossprod(as.matrix(tmp2[1:3]), as.matrix(tmp2[4:6]))