如何在r中重新格式化因子数据

如何在r中重新格式化因子数据,r,R,我有一个如下的数据框 structure(list(habitat = c("open", "open", "open", "open", "open", "open", "open", "open", "open", "open", "open", "op

我有一个如下的数据框

     structure(list(habitat = c("open", "open", "open", "open", "open", 
"open", "open", "open", "open", "open", "open", "open", "open", 
"open", "open", "open", "open", "open", "open", "open", "open", 
"open", "open", "open", "open", "open", "open", "open", "open", 
"open", "open", "open", "open", "open", "open", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown", "overgrown", 
"overgrown", "overgrown", "overgrown", "overgrown"), sex = c("female", 
"female", "female", "female", "male", "female", "female", "female", 
"female", "female", "female", "male", "female", "male", "female", 
"female", "female", "female", "female", "female", "female", "male", 
"female", "female", "male", "male", "male", "male", "female", 
"female", "female", "female", "male", "female", "male", "male", 
"male", "male", "male", "male", "male", "male", "male", "male", 
"male", "male", "male", "male", "male", "female", "male", "male", 
"female", "male", "male", "male", "male", "male", "male", "male", 
"male", "male", "male", "male", "male", "male", "male", "male", 
"male", "male", "male", "male", "female", "male", "male", "male", 
"male", "female", "male", "female"), colour = c("red", "red", 
"red", "red", "red", "red", "red", "red", "red", "red", "red", 
"black", "red", "black", "black", "red", "black", "red", "red", 
"black", "black", "black", "red", "red", "red", "black", "black", 
"black", "red", "red", "red", "black", "red", "red", "black", 
"black", "red", "black", "red", "red", "black", "black", "black", 
"black", "black", "black", "black", "red", "red", "black", "black", 
"black", "red", "red", "red", "black", "red", "red", "black", 
"black", "black", "black", "black", "black", "black", "black", 
"black", "black", "black", "black", "black", "black", "red", 
"black", "black", "black", "black", "red", "red", "red")), class = "data.frame", row.names = c(NA, 
-80L))
我想根据“栖息地”和“颜色”列计算数字,并对数据框进行如下重塑(尽管有“性别”列)


如何在r中实现这一点?

要查看基于栖息地和颜色的计数,请将数据分配到数据框,并将这些列传递到
表()


xtabs(~habitat+color,data=d)
表格(d$habitat,d$color)
。或者如果您喜欢
tidyverse
计数(df,habitat,color)%%>%pivot\u加宽(name\u from=color,value\u from=n)
habitat        red  black

open           24     11

overgrown      14      31
table(df$habitat, df$colour)