【问题标题】:What should I do if the head of column with space in R?如果列的头部在 R 中有空格,我该怎么办?
【发布时间】:2017-04-02 05:30:06
【问题描述】:

我从 Excel 导入数据(每日雪深数据)。 但是这个数据集里面有很多空间,尤其是头部也包含的空间。如下图所示:

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

因此,当我尝试通过第二列的名称设置子集时,如果它等于“站名”,如下所示:

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

R 给我返回了一个错误: 错误:“Boston_snow 中出现意外符号

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

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

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

那么,我该怎么办?我的意思是,也许要么消除我的 excel 中的所有空格,要么使用一些可以很好地处理空格的命令对我来说很好。但我不知道它们,尤其是后面的选项。

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

【问题讨论】:

  • 感谢@Gaël Marziou 的建议。我现在更正了。

标签: r


【解决方案1】:

哦,我找到了一种空间替换方式:

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

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

同时,我意识到像下面这样简单地使用 gsub 命令是行不通的,因为它只能在字符串上工作:

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

同样感谢@jwells。

【讨论】:

    猜你喜欢
    • 2022-07-25
    • 1970-01-01
    • 2019-02-01
    • 2010-11-25
    • 1970-01-01
    • 2023-02-04
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多