How to build frequency matrix in R?

谁都会走 提交于 2020-01-07 16:15:11

问题


Suppose that the existing data frame named as A contains the following data:

Time    Var
T1      loc1
T1      loc2
T1      loc3
T2      loc2
T2      loc2
T2      loc3
T3      loc1
T3      loc3
T3      loc3

I want the output frequency matrix in R in the following format

      loc1    loc2    loc3
T1     1       1       1
T2     0       2       1
T3     1       0       2

I tried using apply(), table() but could not understand how to use them to get my required output. Can somebody suggest me some functions in R which I can use to get the required output?


回答1:


You could go for xtabs in base R

xtabs(~Time+Var, A)

#    Var
#Time loc1 loc2 loc3
#  T1    1    1    1
#  T2    0    2    1
#  T3    1    0    2

OR dcast from data.table

library(data.table)
dcast(A, Time~Var)


来源:https://stackoverflow.com/questions/43357603/how-to-build-frequency-matrix-in-r

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!