如果在R中有空格的列标题,我该怎么办?

时间:2017-04-01 20:20:24

标签: r

我从excel导入数据(每日积雪深度数据)。 但是这个数据集中有很多空间,特别是头部中也包含的空间。就像下面的头部显示:

GHCN ID    Station Name     County      Mar 1      Mar 2      Mar 3 ......

因此,当我尝试按第二列的名称设置一个子集时,如果它等于“Station Name”,就像这样:

Boston_snow <- subset(MA_snow,Station Name == "BOSTON",select =       c(3/1/2017:3/31/2017))

R给我一个错误: 错误:“Boston_snow&lt; - subset(MA_snow,Station Name”

)中的意外符号

但如果我删除代码中的空格:

Boston_snow <- subset(MA_snow,StationName == "BOSTON",select =       c(3/1/2017:3/31/2017))

仍然发生错误: eval中的错误(expr,envir,enclos):找不到对象'StationName'

那么,我该怎么办?我的意思是,也许要么消除我的excel中的所有空格或者使用一些可以很好地处理空格的命令对我来说很好。但我对它们一无所知,特别是后来的选择。

真诚希望能得到答案。非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

哦,我发现了一种空间替换方式:

MA_snow2 <- as.data.frame(apply(MA_snow,2,function(x)gsub('\\s+', '_',x)))

此命令将在整个数据框中用_替换所有空格。

与此同时,我意识到只使用gsub命令,因为它不起作用,因为它只能处理字符串:

MA_snow2 <- gsub("\\s", "_",MA_snow)

感谢@jwells一样。