首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >条件计数与R中的群

条件计数与R中的群
EN

Stack Overflow用户
提问于 2014-09-25 15:28:54
回答 5查看 71.2K关注 0票数 5

如果每个type符合条件x == 0,我想计算它们有多少行。有点像SQL中的组

下面是数据的一个示例

代码语言:javascript
运行
复制
  type    x    
search    0 
NULL      0 
public    0
search    1
home      0
home      1
search    0
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-09-25 15:43:18

我假设您希望在满足特定条件(当变量具有某种值时)找到行数。

如果是这样的话,那么我想您将"x“作为列中表示的变量。"x“可以接受多个值。假设当x为0时,您想要找到数据中有多少行。这可以通过以下方式做到:

代码语言:javascript
运行
复制
nrow(subset(data, x=="0")

“‘data”是R中数据集的对象名。

编辑:

我现在看到你编辑的数据了。你可以用这个来解决你的问题:

代码语言:javascript
运行
复制
table(data$type, data$x)
票数 9
EN

Stack Overflow用户

发布于 2014-09-26 02:14:25

您还可以使用sqldf包:

代码语言:javascript
运行
复制
library(sqldf)
df <- data.frame(type=c('search','NULL','public','search','home','home','search'),x=c(0,0,0,1,0,1,0))
sqldf("SELECT type, COUNT(*) FROM df WHERE x=0 GROUP BY type")

其结果如下:

代码语言:javascript
运行
复制
    type COUNT(*)
1   NULL        1
2   home        1
3 public        1
4 search        2
票数 6
EN

Stack Overflow用户

发布于 2014-09-25 16:01:42

您还可以使用dplyr包来完成这一任务:

代码语言:javascript
运行
复制
library(dplyr)

df2 <- df %>% group_by(x,type) %>% tally()

这意味着:

代码语言:javascript
运行
复制
  x   type n
1 0   home 1
2 0   NULL 1
3 0 public 1
4 0 search 2
5 1   home 1
6 1 search 1
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26042409

复制
相关文章

相似问题

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