Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
139 views
in Technique[技术] by (71.8m points)

How to build frequency matrix in R?

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

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

1 Reply

0 votes
by (71.8m points)

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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...