gpt4 book ai didi

r - 如何对整个数据框使用 case_when?

转载 作者:行者123 更新时间:2023-12-05 08:36:12 24 4
gpt4 key购买 nike

我想将 case_when 应用于数据框中的所有列。

set.seed(1)
data <- tibble(x = runif(10), y = x * 2)
data

对于所有高于 0.5 的列,我想用字符串“>0.5”替换,对于高于 1 的列,我想用“>1”替换。

我试过 case_when,但似乎我必须指定像 x 和 y 这样的列。我想在不指定列的情况下使用 case_when,而是在整个数据框上使用它。

最佳答案

purrr 解决方案;

library(purrr)

data %>%
map_df(~case_when(.x > 0.5 & .x < 1 ~ ">0.5",
.x >= 1 ~ ">1"))

输出;

   x     y    
<chr> <chr>
1 NA >0.5
2 NA >0.5
3 >0.5 >1
4 >0.5 >1
5 NA NA
6 >0.5 >1
7 >0.5 >1
8 >0.5 >1
9 >0.5 >1
10 NA NA

关于r - 如何对整个数据框使用 case_when?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69693106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com