r - 如果 R 中的任何列中存在任何实例,则按行计数
问题描述
我有一个像这样的数据框:df
ID Black red blue green
1 0 1 1 1
2 0 0 2 1
3 0 5 1 2
4 0 0 1 2
5 0 0 1 2
有了这些数据,无论实际数字如何,我如何计算具有任何数字的列?有没有办法做到这一点?
我试过rowSums(df)
了,但结果不是我想要的。
我想要的输出是:
ID Black red blue green count
1 0 1 1 1 3
2 0 0 2 1 2
3 0 5 1 2 3
4 0 0 1 2 2
5 0 0 1 2 2
提前致谢!
解决方案
我认为这应该对你有用
data = data.frame(Black = rep(0, 5),
Red = c(1,0,5,0,0),
Blue = c(1,2,1,1,1),
Green = c(1,1,2,2,2))
data$count = apply(data, 1, FUN = function(x) length(x[x>0]))
推荐阅读
- amazon-web-services - 加密 AWS 参数存储值的用例是什么?
- c# - ASP.NET Core,依赖注入 - 无法解析服务
- elasticsearch - 如何处理 elasticsearch-curator 日志文件大小?
- javascript - 如何在 React Slick 滑块中为自动播放添加初始延迟?
- python - Pytest + Multiprocessing Queue 不能很好地结合在一起
- docker - 删除了 Kubernetes 部署,但 Node(docker) 容器不断地重新创建自己
- python - 使用 Python 根据上次选择的列中提供的整数在 Postgresql 数据库中选择动态行
- android - Work Manager 与 Reactive Extensions (Rxjava) 有什么区别?我应该使用什么或何时使用?
- c# - 创建新的 C# Web 应用程序时缺少一些组件?
- python - python在字符串中查找确切的单词或短语