R语言 更改和分组行ID

lpwwtiir  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(219)

我有一个包含这些列的数据框

ID     X    Y  
x1.1  0.1  0.2  
x1.2  0.1  0.2  
x1.3  0.1  0.2  
x2.1  0.3  0.4  
x2.2  0.3  0.4  
x3.1  0.5  0.6  
x3.2  0.5  0.6  
...   0.1  0.2

我想把x1.i的所有ID都换成x1,x2.i换成x2,以此类推。所以我的 Dataframe 看起来像这样:

ID     X    Y   
x1    0.1  0.2  
x1    0.1  0.2  
x1    0.1  0.2  
x2    0.3  0.4  
x2    0.3  0.4  
x3    0.5  0.6  
x3    0.5  0.6  
...   ...  ...

如果不使用循环,我怎么能做到这一点呢?
问候和感谢您提前回复!

dgiusagp

dgiusagp1#

我们可以使用sub来匹配.后面跟其他字符(.*)到字符串的结尾,然后用""替换它

df1$ID <- sub("\\..*", "", df1$ID)
df1
#  ID   X   Y
#1 x1 0.1 0.2
#2 x1 0.1 0.2
#3 x1 0.1 0.2
#4 x2 0.3 0.4
#5 x2 0.3 0.4
#6 x3 0.5 0.6
#7 x3 0.5 0.6

相关问题