【问题标题】:Replace first letter of a string [duplicate]替换字符串的第一个字母[重复]
【发布时间】:2018-12-12 16:16:02
【问题描述】:

我有一个数据框,其中有一列我想更改其中的字符串

       Num       rand
1  A.AZ.R   0.2500000
2  A.EAZ.B  1.0000000
3  A.AZ.C   0.1000000
4  A.AZE.D  0.0100000
5  A.AZE.E  0.2500000
6  A.RJE.F  0.0156250
7  A.AZE.C  0.0078125
8  A.AVE.G  0.0078125
9  A.AZD.B  0.0312500

我希望在Num 列中将所有A. 替换为F.

       Num       rand
1  F.AZ.R   0.2500000
2  F.EAZ.B  1.0000000
3  F.AZ.C   0.1000000
4  F.AZE.D  0.0100000
5  F.AZE.E  0.2500000
6  F.RJE.F  0.0156250
7  F.AZE.C  0.0078125
8  F.AVE.G  0.0078125
9  F.AZD.B  0.0312500

【问题讨论】:

  • gsub("R.", "F.", Df) :)

标签: r string replace


【解决方案1】:
> df
      Num      rand
1  A.AZ.R 0.2500000
2 A.EAZ.B 1.0000000
3  A.AZ.C 0.1000000
4 A.AZE.D 0.0100000
5 A.AZE.E 0.2500000
6 A.RJE.F 0.0156250
7 A.AZE.C 0.0078125
8 A.AVE.G 0.0078125
9 A.AZD.B 0.0312500

> df[,1] <- gsub("^.", "F", df[,1])
> df
      Num      rand
1  F.AZ.R 0.2500000
2 F.EAZ.B 1.0000000
3  F.AZ.C 0.1000000
4 F.AZE.D 0.0100000
5 F.AZE.E 0.2500000
6 F.RJE.F 0.0156250
7 F.AZE.C 0.0078125
8 F.AVE.G 0.0078125
9 F.AZD.B 0.0312500

【讨论】:

    【解决方案2】:

    Chartr 对此很有用: 假设您的数据框被称为 df 您可以这样做:

    df$Num <- chartr("A.", "F.", df$Num)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-11
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      相关资源
      最近更新 更多