r - 如何在r中的一个数据框中使用多个条件
问题描述
我正在尝试将这四个标准应用于一个数据框。有没有办法只在一个数据帧上使用它而不是创建单独的数据帧?
Yellow<- apply(df, 2, function(x) ifelse(x < 45, 'Yellow', ""))
Green <- apply(df, 2, function(x) ifelse(x > 45 & x < 60, 'Green', "" ))
Orange <- apply(df, 2, function(x) ifelse(x > 60 & x < 70, 'Orange', "" ))
Red <- apply(df, 2, function(x) ifelse(x > 45, 'Red', "" ))
谢谢您的帮助
解决方案
您可以在传递给的一个匿名函数中完成所有步骤apply
。
apply(df, MARGIN = 2, FUN = function(x) {
x[x < 45] <- "Yellow"
x[x > 45 & x < 60] <- "Green"
x[x > 60 & x < 70] <- "Orange"
x[x > 70] <- "Red"
x
})
请注意,您将错过 45、60 和 70的值,<
并>
寻找小于/大于 x(但不等于)的值。为避免这种情况,您应该使用类似x <= 45
.
推荐阅读
- firebase - 不能使用 firebase 引用数据类型来获取子集合
- css - Firefox 按钮删除 Firefox 77 中的填充
- python - 如何计算熊猫股票开盘价的百分比变化
- javascript - List.js - 按超过 1 个键/值/答案的属性过滤
- reactjs - 如何使用 Ionic React 从 IonTabBar 触发 IonModal
- csv - SSIS中的日期类型转换
- r - 试图在 R 中的 ggplot 图上获得更平滑的线
- python - 熊猫列组内所有可能的排列
- matlab - Matlab中的组合数缺失
- java - OpenJFX Maven 原型不存在?