首页 > 解决方案 > 如何执行计算 chr 和 dbl

问题描述

假设我有这个运行这段代码

df_customer %>% 
  separate(DOB,sep = "-",into = c("D", "M","Y")) %>% 
  mutate(Age=2021)

然后这个数据框出来了

ID      D   M   Y       G   C   Age
<int>   <   chr    >            <dbl>
268408  02  01  1970    M   4   2021
269696  07  01  1970    F   8   2021
268159  08  01  1970    F   8   2021
270181  10  01  1970    F   2   2021
268073  11  01  1970    M   1   2021
273216  15  01  1970    F   5   2021
266929  15  01  1970    M   8   2021
275152  16  01  1970    M   4   2021
275034  18  01  1970    F   4   2021
273966  21  01  1970    M   8   2021

然后,我想更改 mutate 列的列表如何计算类似 2021-"Y" 列的内容?2021 是 dbl,Y 是 chr

标签: rtidyrdplyr

解决方案


添加应该给你数值convert = TRUEseparate您还可以使用as.numeric将字符转换为数字。

library(dplyr)
library(tidyr)

df_customer %>% 
  separate(DOB,sep = "-",into = c("D", "M","Y"), convert = TRUE) %>% 
  mutate(Age=2021 - as.numeric(Y))

推荐阅读