Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
132 views
Welcome To Ask or Share your Answers For Others

1 Answer

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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...