r - 在 R 中创建一个比较其他两个列的新列
问题描述
我的数据看起来像:
x y
2 5
3 6
4 2
6 1
7 10
12 16
145 1
希望将小于另一个的数字输出到一个新列中,如下所示:
x y z
2 5 2
3 6 3
4 2 2
6 1 1
7 10 7
12 16 12
145 1 1
没有任何数据是相等的,因此您无需担心。
x <- c(2,3,4,6,7,12,145)
y <- c(5,6,2,1,10,16,1)
df <- data.frame(x,y)
解决方案
使用 tidyverse 中的 case_when
remove(list = ls())
x <- c(2,3,4,6,7,12,145)
y <- c(5,6,2,1,10,16,1)
df <- data.frame(x,y)
df <- df %>%
mutate(z =
case_when(
x < y ~ x,
TRUE ~ y
)
)
df
推荐阅读
- python - 如何制作一个输出具有预定义大小的数组的函数?
- flutter - 当状态代码在单独的文件中定义时,Listview 未显示
- python - 您如何使用数据框获得里程总和?
- java - 忽略某些条件的循环队列 toString 方法
- mysql - 内部连接条件还是在哪里使用?
- bash - Automator - 处理从 Applescript 传递到 Shell Script 的路径上的空格
- mysql - 为什么 WordPress 将 NOT NULL 日期时间列默认为 0000-00-00 00:00:00?
- angular - 如何通过管道制作类似的电影
- dialogflow-es - Django/Dialogflow 聊天机器人,在我的笔记本电脑上工作。当我部署到服务器时,我必须在匹配意图之前重复相同的句子
- excel - 日期之间的用户值与日期中所有用户的Excel条件排名