首页 > 解决方案 > 输入`typ`不能在R中回收到大小

问题描述

我有这个数据框:

DF
V1  V2 
P1  03.02.2020
22  04.02.2020
33  05.02.2020
P2  05.02.2020
P1  06.02.2020 

我想有这个输出

DF
V1  V2           V3
P1  03.02.2020   P1
22  04.02.2020   NA
33  05.02.2020   NA
R2  05.02.2020   R2
S3  06.02.2020   S3

在 V3 中,我希望只有字符串包含来自 V1 的字母。

我用了这段代码

DF %>% mutate(V3 = grep("([A-Z])", V1))

但我得到了这个错误:

x 输入typ不能被回收到大小

我该如何解决这个问题?

标签: rdplyrsubstring

解决方案


您可以使用ifelse

DF %>% mutate(V3 = ifelse(grepl("[A-Z]", V1), as.character(V1), NA))
#>   V1         V2   V3
#> 1 P1 03.02.2020   P1
#> 2 22 04.02.2020 <NA>
#> 3 33 05.02.2020 <NA>
#> 4 P2 05.02.2020   P2
#> 5 P1 06.02.2020   P1

推荐阅读