我的数据框包含带点的标题,我想用下划线替换。
示例数据:
myheaders = c("3.1","3.2","3.3","3.4","3.5","3.6")
mydata = c(2,0,3,1,1,4)
example = as.data.frame(t(mydata))
colnames(example) <- myheaders
example
> example
3.1 3.2 3.3 3.4 3.5 3.6
1 2 0 3 1 1 4
字符串
在a similar question之后,我尝试了以下操作:
myoutput <- data.frame(lapply(example, function(x) {gsub(".", "_", x, fixed = TRUE)}))
型
然而,这只是将“X”引入到标题中。错误在哪里?
> myoutput
X3.1 X3.2 X3.3 X3.4 X3.5 X3.6
1 2 0 3 1 1 4
型
这是我想要的输出:
> myoutput
3_1 3_2 3_3 3_4 3_5 3_6
1 2 0 3 1 1 4
型
3条答案
按热度按时间i7uq4tfw1#
你想改变列名,所以应该使用
colnames
,否则你将把函数应用到你的data.frame(不包括列(或行)名)。字符串
kq4fsx7k2#
使用
names()
,这应该可以做到:字符串
cpjpxq1n3#
字符串
gsub
可以完成你所需要的(你可以通过使用\来转义点来替换固定参数),但是它会改变列名向量中的字符串。然后像你在例子中使用colnames()
函数一样改变列名。