2015-04-22 96 views
1

我有一个数据集,其中所有的变量名都以“。”之前的字符串开头。我想批量删除整个数据集。例如:删除R中所有变量的部分变量名称

frame <- data.frame("sec.xx" = rnorm(10), "sec2.zz" = rnorm(10), "sec3.yy" = rnorm(10)) 
names(frame) 

我想删除“。”之前的所有名称中的所有内容。使得结果变量名称是“xx”,“zz”,“yy”。感谢任何和所有的想法。

+0

使用'sub'即'子( '^ [^。] *', '',名称(帧))' – akrun

回答

1

您可以使用sub函数。

> names(frame) <- sub(".*\\.", "", names(frame)) 
> names(frame) 
[1] "xx" "zz" "yy" 
1

stringr包中有一个str_replace函数,它将根据正则表达式替换值。您可以使用此弦上之前更换的一切,包括第一期

a = "sec.xx" 
a = str_replace(a, ".*\\.", "")