如何在 R 数据帧列中将两个单词之间的空格替换为下划线?
如果要将 R 数据帧列中两个单词之间的空格替换为下划线,我们可以使用 gsub 函数。例如,如果我们有一个名为 df 的数据帧,其中包含字符列 x,其中两个单词之间有一个空格,那么我们可以使用命令 df$x<-gsub(" ", "_",df$x) 来替换该空格。
示例
考虑下面这个数据帧 -
x1<-sample(c("id 1","id 2","id 3","id 4"),20,replace=TRUE) x2<-rpois(20,5) df1<-data.frame(x1,x2) df1
输出
x1 x2 1 id 4 6 2 id 4 5 3 id 1 6 4 id 3 8 5 id 4 12 6 id 4 8 7 id 3 2 8 id 3 5 9 id 4 8 10 id 1 1 11 id 3 4 12 id 3 5 13 id 2 3 14 id 1 2 15 id 3 5 16 id 1 8 17 id 4 8 18 id 3 5 19 id 2 2 20 id 3 4
用下划线替换列 x1 中 id 和编号之间的空格 -
示例
df1$x1<-gsub(" ", "_", df1$x1) df1
输出
x1 x2 1 id_4 6 2 id_4 5 3 id_1 6 4 id_3 8 5 id_4 12 6 id_4 8 7 id_3 2 8 id_3 5 9 id_4 8 10 id_1 1 11 id_3 4 12 id_3 5 13 id_2 3 14 id_1 2 15 id_3 5 16 id_1 8 17 id_4 8 18 id_3 5 19 id_2 2 20 id_3 4
示例
y1<-sample(c("class 1","class 2","class 3"),20,replace=TRUE) y2<-rnorm(20) df2<-data.frame(y1,y2) df2
输出
y1 y2 1 class 1 0.62986928 2 class 2 1.65731515 3 class 3 -1.13406383 4 class 1 -0.35842133 5 class 1 0.58141698 6 class 3 -0.18424254 7 class 3 -1.05955455 8 class 2 -0.80841041 9 class 3 1.05838028 10 class 2 -1.06141883 11 class 3 -0.54195571 12 class 3 -0.18038280 13 class 2 0.75236011 14 class 2 -0.55374067 15 class 1 0.38737080 16 class 3 0.35892853 17 class 2 -0.44576804 18 class 1 0.62543133 19 class 2 -0.05862987 20 class 1 -0.01508226
用下划线替换列 y1 中 id 和编号之间的空格 -
示例
df2$y1<-gsub(" ", "_",df2$y1) df2
输出
y1 y2 1 class_1 0.62986928 2 class_2 1.65731515 3 class_3 -1.13406383 4 class_1 -0.35842133 5 class_1 0.58141698 6 class_3 -0.18424254 7 class_3 -1.05955455 8 class_2 -0.80841041 9 class_3 1.05838028 10 class_2 -1.06141883 11 class_3 -0.54195571 12 class_3 -0.18038280 13 class_2 0.75236011 14 class_2 -0.55374067 15 class_1 0.38737080 16 class_3 0.35892853 17 class_2 -0.44576804 18 class_1 0.62543133 19 class_2 -0.05862987 20 class_1 -0.01508226
广告