如何在 R 数据框列中的每个数值前添加字符串?
r programmingserver side programmingprogramming更新于 2025/4/13 0:22:17
有时数据框的唯一标识列未按预期记录,它仅包含数值,无法解决数据特征目的。因此,我们可能希望在这些数值前添加一个字符串,以使数据对查看者和分析师更有意义。这可以借助 gsub 函数轻松完成。
考虑下面的数据框 −
示例
set.seed(111) x1<-1:20 x2<sample(1:10,20,replace=TRUE) df1<-data.frame(x1,x2) df1
输出
x1 x2 1 1 6 2 2 8 3 3 4 4 4 6 5 5 4 6 6 5 7 7 1 8 8 6 9 9 5 10 10 1 11 11 6 12 12 6 13 13 1 14 14 1 15 15 2 16 16 5 17 17 2 18 18 10 19 19 4 20 20 7
在数据框 df1 的 x1 列中的每个值前添加 ID −
示例
df1$x1<-sub("^","ID",df1$x1) df1
输出
x1 x2 1 ID1 4 2 ID2 3 3 ID3 9 4 ID4 5 5 ID5 3 6 ID6 8 7 ID7 10 8 ID8 1 9 ID9 10 10 ID10 4 11 ID11 8 12 ID12 10 13 ID13 9 14 ID14 8 15 ID15 1 16 ID16 7 17 ID17 5 18 ID18 1 19 ID19 9 20 ID20 8
我们来看另一个例子 −
示例
Class<-1:20 Score<-sample(36:100,20) df2<-data.frame(Class,Score) df2
输出
Class Score 1 1 89 2 2 82 3 3 55 4 4 63 5 5 57 6 6 99 7 7 90 8 8 43 9 9 86 10 10 42 11 11 44 12 12 56 13 13 80 14 14 45 15 15 46 16 16 37 17 17 41 18 18 60 19 19 59 20 20 68
在数据框 df2 的 Class 列中的每个值前添加 Class −
示例
df2$Class<-sub("^","Class ",df2$Class) df2
输出
Class Score 1 Class 1 60 2 Class 2 70 3 Class 3 42 4 Class 4 87 5 Class 5 71 6 Class 6 63 7 Class 7 73 8 Class 8 100 9 Class 9 97 10 Class 10 39 11 Class 11 66 12 Class 12 41 13 Class 13 65 14 Class 14 40 15 Class 15 72 16 Class 16 89 17 Class 17 96 18 Class 18 76 19 Class 19 95 20 Class 20 77