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

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

jsf - "PropertyNotWritableException: Illegal Syntax for Set Operation" error when setting value in bean -

laravel - Undefined property: Illuminate\Pagination\LengthAwarePaginator::$id (View: F:\project\resources\views\admin\carousels\index.blade.php) -