如何从 R 数据框中的字符串列中删除单引号?


R 数据框中的列值有时带有单引号,为了执行分析,我们需要移除该引号。因此,若要从字符串列中移除单引号,我们可以使用 gsub 函数,通过定义单引号并用空格(非空白)替换它,如下面的示例所示。

考虑一下面的数据框 −

示例

 动态演示

x1<-sample(c("India'","Sudan'","Croatia'"),20,replace=TRUE)
x2<-rpois(20,5)
df1<-data.frame(x1,x2)
df1

输出

   x1      x2
1  India'   6
2  Sudan'   3
3  Croatia' 9
4  Croatia' 3
5  Sudan'   4
6  Croatia' 4
7  India'   4
8  Croatia' 6
9  India'   4
10 Croatia' 7
11 Sudan'   8
12 India'   3
13 Croatia' 4
14 Sudan'   6
15 Sudan'   3
16 India'   11
17 Croatia' 8
18 Sudan'   6
19 Sudan'   10
20 Sudan'   5

从 df1 中的 x1 列中移除 ' −

示例

df1$x1<-gsub("'","",df1$x1)
df1

输出

    x1   x2
1  India   6
2  Sudan   3
3  Croatia 9
4  Croatia 3
5  Sudan   4
6  Croatia 4
7  India   4
8  Croatia 6
9  India   4
10 Croatia 7
11 Sudan   8
12 India   3
13 Croatia 4
14 Sudan   6
15 Sudan   3
16 India   11
17 Croatia 8
18 Sudan   6
19 Sudan   10
20 Sudan   5

示例

 动态演示

y1<-sample(c("'A'","'B'","'C'"),20,replace=TRUE)
y2<-rnorm(20,1)
df2<-data.frame(y1,y2)
df2

输出

    y1    y2
1  'B'    0.49282668
2  'B'   -0.90061585
3  'B'    0.89346759
4  'A'    1.96469552
5  'A'    1.21931750
6  'A'    0.32022463
7  'A'    0.97912117
8  'B'    1.38781374
9  'C'   -0.69066318
10 'B'    1.45014864
11 'C'    1.61876980
12 'C'    1.69046763
13 'C'   -0.08073507
14 'B'    1.73212908
15 'C'    0.85473489
16 'B'   -0.24975030
17 'A'    0.40313471
18 'B'    0.60537047
19 'B'    0.30200882
20 'C'    2.29497113

从 df2 中的 y1 列中移除 ' −

示例

df2$y1<-gsub("'","",df2$y1)
df2

输出

   y1     y2
1  B     0.49282668
2  B    -0.90061585
3  B     0.89346759
4  A     1.96469552
5  A     1.21931750
6  A     0.32022463
7  A     0.97912117
8  B     1.38781374
9  C    -0.69066318
10 B     1.45014864
11 C     1.61876980
12 C     1.69046763
13 C    -0.08073507
14 B     1.73212908
15 C     0.85473489
16 B    -0.24975030
17 A     0.40313471
18 B     0.60537047
19 B     0.30200882
20 C     2.29497113

更新于: 06-Feb-2021

4 千+ 查看

开启你的 职业 生涯

完成课程获得认证

开始
广告