如何使用dplyr重命名块中具有模式的行
我有以下数据帧(TIBLE): 如何重命名如何使用dplyr重命名块中具有模式的行,r,dplyr,tidyverse,R,Dplyr,Tidyverse,我有以下数据帧(TIBLE): 如何重命名V2中的行,使其变成这样: A foo.w 9394981 B bar.x 6826405 C qux.y 1074885 D gop.z 1493691 A foo.w 100 B bar.x 200 C qux.y 300 D gop.z 400 #如果V2的顺序是foo、bar、qux、gop dat%>%突变(V2=粘贴(V2,c(“
V2
中的行,使其变成这样:
A foo.w 9394981
B bar.x 6826405
C qux.y 1074885
D gop.z 1493691
A foo.w 100
B bar.x 200
C qux.y 300
D gop.z 400
#如果V2的顺序是foo、bar、qux、gop
dat%>%突变(V2=粘贴(V2,c(“w”,“x”,“y”,“z”),sep=“.”)
#一个tibble:8×3
V1 V2 V3
1 A foo.w 9394981
2巴x 6826405
3 C qux.y 1074885
4 D gop.z 1493691
5 A foo.w 100
6B巴x200
7立方厘米300立方厘米
8D gop.z 400
#如果不是,则创建查找
查找%mutate(V2=查找[as.character(V2)])
#一个tibble:8×3
V1 V2 V3
1 A foo.w 9394981
2巴x 6826405
3 C qux.y 1074885
4 D gop.z 1493691
5 A foo.w 100
6B巴x200
7立方厘米300立方厘米
8D gop.z 400
#如果V2的顺序是foo、bar、qux、gop
dat%>%突变(V2=粘贴(V2,c(“w”,“x”,“y”,“z”),sep=“.”)
#一个tibble:8×3
V1 V2 V3
1 A foo.w 9394981
2巴x 6826405
3 C qux.y 1074885
4 D gop.z 1493691
5 A foo.w 100
6B巴x200
7立方厘米300立方厘米
8D gop.z 400
#如果不是,则创建查找
查找%mutate(V2=查找[as.character(V2)])
#一个tibble:8×3
V1 V2 V3
1 A foo.w 9394981
2巴x 6826405
3 C qux.y 1074885
4 D gop.z 1493691
5 A foo.w 100
6B巴x200
7立方厘米300立方厘米
8D gop.z 400
> dat
# A tibble: 8 × 3
V1 V2 V3
<fctr> <fctr> <dbl>
1 A foo 9394981
2 B bar 6826405
3 C qux 1074885
4 D gop 1493691
5 A foo 100
6 B bar 200
7 C qux 300
8 D gop 400
A foo.w 9394981
B bar.x 6826405
C qux.y 1074885
D gop.z 1493691
A foo.w 100
B bar.x 200
C qux.y 300
D gop.z 400
# If V2 is in the order of foo, bar, qux, gop
dat %>% mutate(V2=paste(V2, c("w", "x", "y", "z"), sep="."))
# A tibble: 8 × 3
V1 V2 V3
<fctr> <chr> <dbl>
1 A foo.w 9394981
2 B bar.x 6826405
3 C qux.y 1074885
4 D gop.z 1493691
5 A foo.w 100
6 B bar.x 200
7 C qux.y 300
8 D gop.z 400
# If not, create a lookup
lookup <- c("foo"="foo.w", "bar"="bar.x", "qux"="qux.y", "gop"="gop.z")
dat %>% mutate(V2=lookup[as.character(V2)])
# A tibble: 8 × 3
V1 V2 V3
<fctr> <chr> <dbl>
1 A foo.w 9394981
2 B bar.x 6826405
3 C qux.y 1074885
4 D gop.z 1493691
5 A foo.w 100
6 B bar.x 200
7 C qux.y 300
8 D gop.z 400