r - Frequencies data table multiple columns -


i have data table this

require(data.table) dt <- data.table(a= c("a","a","b","b","b"), b= c("a","a","c","c","e"),    c=c("d","d","b","b","b")) 

i want count frequencies all columns. know how 1 one, want in 1 instruction because data has lot of columns.

result must one:

dt[,a1:=.n, = c("a")] dt[,a2:=.n, = c("b")] dt[,a3:=.n, = c("c")]   

require(data.table) dt <- data.table(a= c("a","a","b","b","b"),                   b= c("a","a","c","c","e"),                     c=c("d","d","b","b","b")) #dt #   b c #1: a d #2: a d #3: b c b #4: b c b #5: b e b  l=lapply(seq_along(colnames(dt)),           function(i) dt[,eval(colnames(dt)[i]),with=f][, x:=.n,by=eval(colnames(dt)[i])]) #l  #[[1]] #   x #1: 2 #2: 2 #3: b 3 #4: b 3 #5: b 3  #[[2]] #   b x #1: 2 #2: 2 #3: c 2 #4: c 2 #5: e 1  #[[3]] #   c x #1: d 2 #2: d 2 #3: b 3 #4: b 3 #5: b 3   df = as.data.frame(l)  # replacing alternate column names concatenating "_count" colnames(df)[seq(2,length(colnames(df)),2)]=  paste0(colnames(df)[seq(1,length(colnames(df)),2)],"_count")  #df #  a_count b b_count c c_count #1       2       2 d       2 #2       2       2 d       2 #3 b       3 c       2 b       3 #4 b       3 c       2 b       3 #5 b       3 e       1 b       3 

Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -