【问题标题】:dplyr rename command with spacesdplyr 用空格重命名命令
【发布时间】:2016-11-02 20:59:04
【问题描述】:

我已经尝试了 dplyr 中重命名功能的多种变体。 我有一个从名为 alldata 的数据库调用的数据框,以及名为 WindDirection:N 的数据框中的一列。我正在尝试将其重命名为风向。我知道创建包含空格的变量名称不是一个好习惯,但我希望将其命名为这样,以提高闪亮的 selectInput 列表的可读性,即使我决定将其重命名为 WindDirection,我也会收到所有相同的错误消息. 我试过了:

rename(alldata, Wind Direction = WindDirection:N)

给出错误信息:

错误:“重命名(所有数据,风向”)中出现意外符号

rename(alldata, `Wind Direction` = `WindDirection:N`)

不给出错误信息,但也不重命名变量

rename(alldata, "Wind Direction" = "WindDirection:N")

给出错误信息:

错误:要重命名的参数必须是不带引号的变量名。争论风向不是。

然后我尝试了相同的 3 种相反顺序的组合(因为我知道 plyr 就是这样工作的,即使我没有在我的代码前面使用 library 命令调用它)将旧变量放在第一位,新变量具有类似错误消息的变量 2nd。

然后我尝试指定包,因为我在下面有 1 个示例,并再次尝试了所有 6 种组合。

dplyr::rename(alldata, `Wind Direction` = `WindDirection:N`)

与第一次类似的错误消息。

我已使用以下线程尝试自己执行此操作。 Replacement for "rename" in dplyr

【问题讨论】:

  • 使用反引号。 rename(`Wind Direction` = WindDirection)
  • @eipi10 我试过了,代码在控制台中显示整个数据框,但没有重命名变量。
  • 嗯,这是因为您必须分配新的 data.frame alldata <- rename(alldata,... 这就是 dplyr 的工作原理
  • names(alldata)[names(alldata)=="Wind Direction"] <- "WindDirection"
  • 谢谢@agenis 的工作

标签: r dplyr rename


【解决方案1】:

正如agenis 指出的那样,我的错误不是在重命名变量后重新定义数据框。

所以我在哪里

dplyr::rename(alldata,风向=WindDirection:N)

我应该有

alldata <- dplyr::rename(alldata,风向=WindDirection:N)

【讨论】:

    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2023-03-25
    • 2021-10-22
    • 1970-01-01
    • 2017-04-17
    相关资源
    最近更新 更多