首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Create variable使用for循环(r)跨行统计出现"yes“的次数

Create variable使用for循环(r)跨行统计出现"yes“的次数
EN

Stack Overflow用户
提问于 2018-10-09 04:44:48
回答 1查看 360关注 0票数 0

我需要添加一个列NumCap,它是Cap1-Cap6中出现'yes‘的次数,使用一个'for’循环。以下是34个观察结果中的前5个。

(在SAS中,我创建了一个Cap1-Cap6数组,如果Cap(i)='yes‘,则应用NumCap +1。我对这两个都是新手,但在r中做这件事比较困难)。

代码语言:javascript
复制
     Sex    AgeGroup Weight Cap1 Cap2 Cap3 Cap4 Cap5 Cap6 NumCap
1    male      young     12  yes  yes  yes  yes  yes  yes    
2    female    young     15  yes   no   no  yes  yes  yes
3    male      young     15  yes  yes   no   no  yes  yes
4    male      young     15  yes  yes   no  yes  yes  yes
5    male      young     13  yes  yes  yes  yes  yes  yes
EN

回答 1

Stack Overflow用户

发布于 2018-10-09 04:46:22

我们可以使用rowSums来创建"NumCap“。使用grep设置dataset的列子集,将其转换为逻辑matrix (==),并获取每行中TRUE的总和(rowSums)

代码语言:javascript
复制
df$NumCap <- rowSums(df[grep("^Cap\\d+", names(df))] ==  "yes")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52709853

复制
相关文章

相似问题

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