我有一个数据框架
A B A E B E B C ..
我想把它转换成两个数据格式
一个是数多少次A,B,C.出现在第一列中,另一列是数A、B、B的次数。出现在第二列中。
A 5 B 4 ...
你能给我一些建议吗?
谢谢
发布于 2016-05-06 10:22:49
试试plyr库:
library(plyr)
myDataFrame <- as.data.frame(cbind( c("A", "A", "B", "B", "B", "C"), c("B", "E", "E", "C", "C", "E") ))
count(myDataFrame[,1]) ##prints counts of first column
count(myDataFrame[,2]) ##prints counts of second column发布于 2016-05-06 10:15:54
我们可以使用lapply循环列,用table获取频率,转换为data.frame,如果需要作为单独的数据集,使用list2env (不建议使用)
list2env(setNames(lapply(df1, function(x)
as.data.frame(table(x))), paste0("df", 1:2)), envir=.GlobalEnv)发布于 2016-05-06 11:52:47
或者,您也可以使用dplyr库-
library("dplyr")
df<- as.data.frame(cbind( c("A", "A", "B", "B", "B", "C"), c("B", "E", "E", "C", "C", "E") ))
names(df)<-c("V1","V2")
df <- tbl_df(df)
df %>% group_by(V1) %>% summarise(c1 = n()) ## for column 1
df %>% group_by(V2) %>% summarise(c1 = n()) ## for column 2https://stackoverflow.com/questions/37069755
复制相似问题