- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
表 1$subject 包含变量“生物学”、“化学”和“物理学”。
对于表 2,我想重新编码,将所有生物/化学实例替换为 1,将物理的所有实例替换为 0。
我尝试了以下代码,因为我相信使用 recode 和 case_when 命令可以实现这一点:
Table2 <- recode(Table1, case_when(
.$subject <= "biology" ~ 1,
.$subject <= "chemistry" ~ 1,
.$subject <= "physics" ~ 0))
最佳答案
两者 recode
和 case_when
操作向量,而不是数据帧。所以要创建一个新的数据框,你需要先调用 mutate
,然后在 mutate
内使用 recode
或 case_when
创建新列(或覆盖现有列)。
(此外,从最新的 dplyr 版本开始,您在使用 .$
时不再需要使用 case_when
)
library(tibble)
library(dplyr)
df <- tribble(
~subject,
"chemistry",
"biology",
"physics"
)
df %>%
mutate(subject2 = case_when(
subject == "chemistry" ~ 1,
subject == "biology" ~ 1,
subject == "physics" ~ 2,
))
#> # A tibble: 3 x 2
#> subject subject2
#> <chr> <dbl>
#> 1 chemistry 1
#> 2 biology 1
#> 3 physics 2
df %>%
mutate(subject2 = recode(
subject,
"chemistry" = 1,
"biology" = 1,
"physics" = 2,
))
#> # A tibble: 3 x 2
#> subject subject2
#> <chr> <dbl>
#> 1 chemistry 1
#> 2 biology 1
#> 3 physics 2
关于r - 一起使用 recode 和 case_when,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47291039/
我想知道我在这里做错了什么。。我尝试结合使用case_When()和SUMMISE()来获取每个id的摘要,具体取决于每个id的行数。。创建于2023-09-09,Reprex v2.0.2。但我只想
我想知道我在这里做错了什么。。我尝试结合使用case_When()和SUMMISE()来获取每个id的摘要,具体取决于每个id的行数。。创建于2023-09-09,Reprex v2.0.2。但我只想
我想知道我做错了什么。。我尝试结合使用case_When()和SUMMISE()来获取每个id的摘要,具体取决于每个id的行数。。创建于2023-09-09,Reprex v2.0.2。但我只想有:
我想知道我在这里做错了什么。。我尝试结合使用case_When()和SUMMISE()来获取每个id的摘要,具体取决于每个id的行数。。创建于2023-09-09,Reprex v2.0.2。但我只想
我正在尝试在 case_when() 中使用 %in%,但是它不像在 R 中一般那样工作。下面是一个示例。有人可以指导这个实现有什么问题吗? df % mutate(flag=case_when(na
我想将 case_when 应用于数据框中的所有列。 set.seed(1) data 0.5”替换,对于高于 1 的列,我想用“>1”替换。 我试过 case_when,但似乎我必须指定像 x 和
我正在处理以下需要使用 case_when 的问题。但是,我遇到了错误消息 Error: must be a logical vector, not a double vector 因为替换的列不是同
这是我的虚拟数据: df 1 0.200 a blue 2 1.99 b blue 3 0.663 c blue 4 1.79 d red 5 3.
假设我想根据多个其他变量中的条件创建一个新变量,并且每个变量的条件都相同。我知道我可以使用 case_when(),但我很想知道如果我的条件短语对于每个条件变量都相同,是否可以简化这一步。我还想知道这
我正在尝试检测字符串中是否存在特定的关键字和短语,如果它们存在,我想在新列中发布特定的数字。我的问题是某些字符串有多个关键字,但 case_when 只返回第一个匹配项。有没有办法解决这个问题,或者我
考虑到这是我的数据集 df % mutate( group1_total % group_by(Group) %>% mutate(total = rowSums(sele
考虑到这是我的数据集 df % mutate( group1_total % group_by(Group) %>% mutate(total = rowSums(sele
这失败了: library(tidyverse) myFn 3 ~ letters[1:3], TRUE ~ letters[1:2] ) } myFn(4) # Error: `TRU
我正在尝试根据温度创建许多不同的可能加权方案。 我创建了一个数据框,其中包含 8 个向量的所有可能组合(每个向量代表一个温度范围)。所以数据框的列是特定的温度范围,行是权重。 我想将温度范围作为参数传
这个问题在这里已经有了答案: case_when in mutate pipe (6 个回答) 5年前关闭。 full % mutate(Title = case_when( Title
我有一个大数据框(下面是一个小样本),我需要根据某些条件将所有以相同前缀开头的列转换为多个列,保留原始变量并将原始后缀携带到新变量。 数据: egp % mutate(across(contain
与Tidy evaluation programming with dplyr::case_when有些相关和 Making tidyeval function inside case_when ,我
我按标识符分组(标识符可能有多行),然后尝试使用 group_by 为每个标识符创建一个唯一的行+ summarize与 case_when .这个想法是,如果有 2 行或更多行,则返回单个预设值,否
在进行数据分析时,有时需要将值重新编码为因子以进行组分析。我想保持因子的顺序与 case_when 中指定的转换顺序相同.在这种情况下,订单应该是 "Excellent" "Good" "Fail"
我希望能够使用 dplyr的 case_when以编程方式替换基础 R cut()功能。 目前, case_when 可以通过 NSE 与外部参数一起使用,例如: library(dplyr) lib
我是一名优秀的程序员,十分优秀!