首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的数据统计

R中的数据统计
EN

Stack Overflow用户
提问于 2016-05-06 10:11:55
回答 3查看 42关注 0票数 0

我有一个数据框架

A B A E B E B C ..

我想把它转换成两个数据格式

一个是数多少次A,B,C.出现在第一列中,另一列是数A、B、B的次数。出现在第二列中。

A 5 B 4 ...

你能给我一些建议吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-06 10:22:49

试试plyr库:

代码语言:javascript
复制
 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
票数 0
EN

Stack Overflow用户

发布于 2016-05-06 10:15:54

我们可以使用lapply循环列,用table获取频率,转换为data.frame,如果需要作为单独的数据集,使用list2env (不建议使用)

代码语言:javascript
复制
list2env(setNames(lapply(df1, function(x)
      as.data.frame(table(x))), paste0("df", 1:2)), envir=.GlobalEnv)
票数 0
EN

Stack Overflow用户

发布于 2016-05-06 11:52:47

或者,您也可以使用dplyr库-

代码语言:javascript
复制
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 2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37069755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档