无法按预期替换R中的所有
我知道在r中已经有关于查找和替换的问题,但我遇到了一些奇怪的问题 工作数据无法按预期替换R中的所有,r,dataframe,replace,R,Dataframe,Replace,我知道在r中已经有关于查找和替换的问题,但我遇到了一些奇怪的问题 工作数据 a <- runif (5) b <- letters [1:10] c <- c(rep ("c-1", 4), rep(“c_5”, 6)) dt <- data.frame (a, b, c) dt a b c 0.5685937 a c-1 0.1136978 b c-1 0.9842870 c c-1 0.7871407 d c-1 0.
a <- runif (5)
b <- letters [1:10]
c <- c(rep ("c-1", 4), rep(“c_5”, 6))
dt <- data.frame (a, b, c)
dt
a b c
0.5685937 a c-1
0.1136978 b c-1
0.9842870 c c-1
0.7871407 d c-1
0.1031224 e c_5
0.5685937 f c_5
0.1136978 g c_5
0.9842870 h c_5
0.7871407 i c_5
0.1031224 j c_5
我尝试了以下代码
dt$c2 <- gsub("-",".",dt$c)
dt$c2 <- gsub("_",".",dt$c)
有人知道问题出在哪里吗
谢谢 在第二步中,您实际上是在覆盖第一步中写入的值。将
gsub
命令合并为一个命令
dt$c2 <- gsub("-|_",".",dt$c)
dt
# a b c c2
#1 0.3959316 a c-1 c.1
#2 0.4614878 b c-1 c.1
#3 0.7252994 c c-1 c.1
#4 0.4700026 d c-1 c.1
#5 0.9995240 e c_5 c.5
#6 0.3959316 f c_5 c.5
#7 0.4614878 g c_5 c.5
#8 0.7252994 h c_5 c.5
#9 0.4700026 i c_5 c.5
#10 0.9995240 j c_5 c.5
dt$c2在对该函数的第二次调用中,您需要通过管道将新列连接到gsub()
:
dt$c2
a b c
0.5685937 a c-1
0.1136978 b c-1
0.9842870 c c-1
0.7871407 d c-1
0.1031224 e c.5
0.5685937 f c.5
0.1136978 g c.5
0.9842870 h c.5
0.7871407 i c.5
0.1031224 j c.5
dt$c2 <- gsub("-|_",".",dt$c)
dt
# a b c c2
#1 0.3959316 a c-1 c.1
#2 0.4614878 b c-1 c.1
#3 0.7252994 c c-1 c.1
#4 0.4700026 d c-1 c.1
#5 0.9995240 e c_5 c.5
#6 0.3959316 f c_5 c.5
#7 0.4614878 g c_5 c.5
#8 0.7252994 h c_5 c.5
#9 0.4700026 i c_5 c.5
#10 0.9995240 j c_5 c.5