dplyr rename命令中使用空格

14 浏览
0 Comments

dplyr rename命令中使用空格

我尝试了多种在dplyr中使用rename函数的变化。我有一个名为alldata的数据框,其中有一个名为WindDirection:N的列。我想将其重命名为Wind Direction。我知道创建包含空格的变量名不是一个好习惯,但是为了在shiny的selectInput列表中提高可读性,我希望以这样的方式命名。即使我尝试将其重命名为WindDirection,我仍然会收到相同的错误信息。

我尝试了以下方法:

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

它不会显示错误消息,但也不会重命名变量。

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

它显示以下错误消息:

错误:重命名的参数必须是未引用的变量名。参数Wind Direction不是。

然后,我尝试了相同的三种组合,将旧变量放在前面,新变量放在后面,得到了类似的错误消息。

然后,我尝试指定包名如下,并再次尝试了所有6种组合。

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

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

我参考了这个链接作为参考。

0
0 Comments

问题出现的原因是在重命名变量后没有重新定义数据框。解决方法是在重命名变量后重新定义数据框。

在使用dplyr的rename命令时,如果变量名中包含空格,需要使用反引号(`)将变量名包裹起来。然而,在上述代码中,作者在重命名变量后没有重新定义数据框,导致命名不成功。

正确的解决方法是在重命名变量后重新定义数据框。代码如下:

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

这样,就可以正确地使用含有空格的变量名进行重命名操作。

0