根据数据框中的其他变量计算变量的因子

时间:2015-07-09 13:38:03

标签: r dataframe factors

我有一个R问题。我想根据数据帧中的另一个变量来计算变量的因子。

我举个例子:

我有

    ID   com
    125 nul
    125 nul
    125 dec
    125 asc
    125 0
    130 nul
    130 dec

我想要什么

    ID|nul|dec|asc|0
    125|2|1|1|1
    130|1|1|0|0

注意:变量com是一个因子,ID是整数。

我尝试了我所知道的简单方法:table(df$ID, df$com)但它没有用。

1 个答案:

答案 0 :(得分:4)

您可以尝试dcast

library(reshape2)
dcast(df,ID~com, value.var='com', length)
#   ID nul dec asc 0
#1 125   2   1   1 1
#2 130   1   1   0 0

或者只使用table

 table(df)
 #    nul dec asc 0
 #125   2   1   1 1
 #130   1   1   0 0

数据

df <- structure(list(ID = c(125L, 125L, 125L, 125L, 125L, 130L, 130L
 ), com = structure(c(1L, 1L, 2L, 3L, 4L, 1L, 2L), .Label = c("nul", 
"dec", "asc", "0"), class = "factor")), .Names = c("ID", "com"
), row.names = c(NA, -7L), class = "data.frame")