首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用dplyr计算条件列转换以生成新列代码

利用dplyr计算条件列转换以生成新列代码
EN

Stack Overflow用户
提问于 2018-12-14 22:04:53
回答 1查看 73关注 0票数 0

我正在处理一个有几千行的时间序列,但下面是我想要讨论的两列的一个小示例:

代码语言:javascript
复制
data <- data.frame(
        Precipitation = sample(c("0.12", "0.14", "0.08", "0.30", "0.10", "0.40", "1.6", "0", "0")),
        Character = sample(c("A", "B", "C", "D", "E", "F", "G", "H", "I")))

沉淀列中的每个值对应于字符列中的字母(即0.12 -> A、0.14 -> B等)。

这些字母中的每一个都表示需要对降水栏中的值进行的潜在“更改”,即:

  • 用字母A表示的降水值很好
  • 字母B的降水值需要除以2
  • 带有字母C的降水值需要除以3
  • 带有字母D的降水值需要除以4
  • 字母E的降水值需要除以2
  • 用字母F表示的降水值需要除以4
  • 带有字母G的降水值需要除以4
  • 字母H的降水值是很好的。
  • 以字母I表示的降水是很好的

现在,我想使用dplyr创建一个新列,将字符列所注意到的除法放到沉淀列中,同时还将不需要任何更改的相应的A、H和I行带来。这样做的代码是什么样子的?

谢谢你的帮助!这是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-15 07:01:21

像这样吗?它在case_when中使用dplyr

代码语言:javascript
复制
library(tidyverse)
data <- tibble(
  Precipitation = sample(c(0.12, 0.14, 0.08, 0.30, 0.10, 0.40, 1.6, 0, 0)), 
  Character = sample(c("A", "B", "C", "D", "E", "F", "G", "H", "I")))

我假设你的降水数字对我来说是数字而不是字符或因素,所以没有引号。

代码语言:javascript
复制
data2 <- data %>% 
  mutate(new = case_when(Character == "B" ~ Precipitation/2,
                         Character == "C" ~ Precipitation/3,
                         Character == "D" ~ Precipitation/4,
                         Character == "E" ~ Precipitation/2,
                         Character == "F" ~ Precipitation/4,
                         Character == "G" ~ Precipitation/4,
                         TRUE ~ Precipitation)) 

任何不是"B“到"G”的东西都是用TRUE表示的,是原始值(降水)。

代码语言:javascript
复制
# A tibble: 9 x 3
  Precipitation Character   new
          <dbl> <chr>     <dbl>
1          0.12 F         0.03 
2          0.4  H         0.4  
3          0.3  B         0.15 
4          0.08 E         0.04 
5          0    I         0    
6          0.14 D         0.035
7          1.6  G         0.4  
8          0    C         0    
9          0.1  A         0.1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53787479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档