您好我需要将数据的layoyt更改为宽矩阵
我的数据看起来像这样
data <- data.frame(
species = c("rabbit", "rabbit", "fox", "rabbit", "rabbit", "rabbit"),
transect = c("EH1", "EH1", "EH1", "EH2", "EH2", "EH2")
)
species transect
rabbit EH1
rabbit EH1
fox EH1
rabbit EH2
rabbit EH2
rabbit EH2
我想重新安排它:
EH1 EH2
fox 1 0
rabbit 2 3
表格给出了这样的结果
species transect freq
rabbit EH1 2
fox EH1 1
rabbit EH2 3
fox EH2 0
我不是专家,我一直在尝试使用ddply和重塑,但我没有管理,所以解决问题。
祝你好运
答案 0 :(得分:2)
非常简单地使用基本R函数:
table(data)
# transect
#species EH1 EH2
# fox 1 0
# rabbit 2 3
编辑:为了响应您的编辑,您可以使用:
library(reshape2)
melt(table(data))
# species transect value
#1 fox EH1 1
#2 rabbit EH1 2
#3 fox EH2 0
#4 rabbit EH2 3
获取您请求的第二个输出。