1
當我使用表格函數apply時,返回兩個不同的結構。應用與表格不匹配
下面是一些樣本數據
d1 <- data.frame(q1 = c(1,2,3), q2 = c(3,2,1))
d2 <- data.frame(q1 = c(1,2,3), q2 = c(3,2,2))
d1 <- data.frame(lapply(d1, factor, ordered=TRUE,
levels=c(1,2,3),
labels=c("Dissatisfied",
"Neutral",
"Satisfied"
)))
d2 <- data.frame(lapply(d2, factor, ordered=TRUE,
levels=c(1,2,3),
labels=c("Dissatisfied",
"Neutral",
"Satisfied"
)))
現在,如果我跑的應用功能
apply_1 <- apply(d1,2,table)
apply_2 <- apply(d2,2,table)
apply_1是一個很好的表(這是輸出我期待)
str(apply_1)
但apply_2是一個列表,不是我想要或預期的
str(apply_2)
我猜這是因爲其中一個因素是不存在的,如D2
的2列,但在運行每個單獨列的表命令值給出我想要的東西
table(d2[ , 1])
table(d2[ , 2])
我是否需要將apply函數更改爲循環並將所有輸出綁定在一起,或者有什麼方法可以使用表函數很好地進行應用?
輝煌,工作就像一個魅力 - 謝謝! – Mist