我有以下data.frame。
df = data.frame(a.dfs.56=c(rep("a",8), rep("b",5), rep("c",7), rep("d",10)),
b.fqh.28=rnorm(30, 6, 2),
c.34.2.fgs=rnorm(30, 12, 3.5),
d.tre.19.frn=rnorm(30, 8, 3)
)
如何替换所有期间“。” 在列名称中将其变为破折号“-”?
我知道check.names=FALSE
使用read.table
或时的选项data.frame
,但是在这种情况下,我不能使用它。
我还尝试了以下帖子的变体,但它们对我没有用。
谢谢。
您可以使用gsub
名称替换
names(df) <- gsub(".", "-", names(df), fixed=TRUE)
请注意,您需要这样做是fixed=TRUE
因为通常gsub
需要正则表达式,并且.
是特殊的正则表达式字符。
但是请注意,这-
是变量名称的非标准字符。如果尝试将这些列与使用非标准评估的函数一起使用,则需要将其括在反引号中以使用它们。例如
dplyr::filter(df, `a-dfs-56`=="a")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句