r - 如何在r中总结二进制结果
问题描述
我是 R 新手,仍在学习。我有一个这样的数据集
county chemicalA chemicalB chemicalC chemicalD
A 1 0 1 0
B 0 0 0 0
C 1 0 0 0
D 0 1 1 0
我使用代码生成这些二进制变量:
chemicalA=ifelse(Mean.Value_chemicalA>0,1,0)
chemicalA[is.na(chemicalA)]=0
现在我想总结“1”,看看在一个地方检测到多少化学物质。我的理想结果是这样的:
county chemicalA chemicalB chemicalC chemicalD detection
A 1 0 1 0 2
B 0 0 0 0 0
C 1 0 0 0 1
D 0 1 1 1 3
我努力了
data$detection=chemicalA+chemicalB+chemicalC+chemicalD
但结果只有 2 和 0,我不知道为什么。起初,我认为 ChemicalX 可能不是数字数据,因此我使用了class()
. 所有的 chemicalX 变量都返回为numeric
。
有人可以帮我弄这个吗?谢谢!
解决方案
我认为rowSums
当行名以相同的前缀开头时效果更好。但如果没有,我们可以试试apply
。
data$detection=apply(data[,c(1:5)], 1, sum)
推荐阅读
- google-app-engine - Google App Engine 错误:app_bucket_name 是必需的
- ibm-datapower - Datapower - 转换查询不将 JSON 转换为 JSONX
- javascript - 试图让机器人输入一个列表,中间有延迟
- javascript - 带有 Javascript 的简单图像库需要旋转图像?
- go - 展平主依赖的供应商传递依赖
- javascript - 处理 HTML,更新然后保存在 Ghost 中
- c++ - __FILE__ 仅返回 Apple 的 clang 中的文件名
- c# - 去掉圆圈中间的点
- oracle - where 子句中的 CASE 语句中的 IN 运算符
- python - 用公式填充列而不删除标题