r - 使用 R tidyverse 添加条件字段
问题描述
这是一些数据
a<-1:5
testing<-tibble(a, b = a * 2)%>%mutate(significant = if_else(a<b,"signi","non"))
我想(这在 excel 中相当简单)是说
=IF(b1 < a$5,"较低",IF(a1 > $b$5,"signi","non"))
那将如何运作?
对不起这个简单的问题。
运行上面的代码时进行编辑,添加一列,其中每个值都是“signi”。我想做的是比较第 1 行第 2 列中的值低于第 5 行第 1 列中的值,如果它低于第 1 行第 3 列中的值,则为第 1 行中的值第 1 列大于第 5 行第 2 列中的值,如果是,则符号是第 1 行第 3 列中的值,否则为非
我想逐步浏览数据框中的每一行,将第 5 列第 1 行和第 5 列第 2 行作为我的参考值。
解决方案
不完全确定这是否是您所追求的:它是您的 excel 公式到 R 的直译。
如果 a 的初始向量从 1:11 扩展,那么significant
假设条件仍为 5 和 10,您将在变量中看到“signi”。
library(dplyr)
a <- 1:5
testing <-
tibble(a, b = a * 2)%>%
mutate(significant = if_else(b < a[5], "lower", if_else(a > b[5], "signi", "non")))
testing
#> # A tibble: 5 x 3
#> a b significant
#> <int> <dbl> <chr>
#> 1 1 2 lower
#> 2 2 4 lower
#> 3 3 6 non
#> 4 4 8 non
#> 5 5 10 non
由reprex 包于 2020-05-17 创建(v0.3.0)
推荐阅读
- python - Pandas multiindex DataFrame:用第二级其他列的值替换某些值
- vue.js - Vue 文本高亮事件
- ruby - 在进行 API 调用时使用 .pkr 公钥加密请求正文
- python - 监控请求持续时间和丢失的数据点
- ruby-on-rails - 通过查看相关列来求和时间 - 更简单的方法?
- python - 文件已存在时在管理面板中显示消息
- sql-server - 如何修复“无法加载动态生成的序列化程序集”错误
- angular - Angular 6 - 使用变量时如何格式化 [ngClass]
- liquibase - 使用来自 liquibase 升级脚本的参数调用 .bat 文件
- python-3.x - 通过 ec2 实例连接本地服务器时,如何在 python 代码中安全地传递密码?