【问题标题】:DataTables warning when renaming dataframe columns in R在 R 中重命名数据框列时出现 DataTables 警告
【发布时间】:2017-03-01 02:01:21
【问题描述】:

当我尝试在 R 中重新分配列名时,我很难弄清楚为什么会收到此警告。

invest <- data.frame(cbind(1990:2015, investssa, investemde))
names(invest) <- c("year", "ssa", "emde")

运行此程序会在 RStudio 中弹出警告:

DataTables 警告:表 id=rsGridData - 无法重新初始化 DataTable。有关此错误的更多信息,请参阅http://datatables.net/tn/3

我已经访问了错误消息中的网站,但这并没有真正的帮助。我也尝试过使用 plyr 中的 rename() 方法,但是当我尝试它时它似乎没有做任何事情。是否有其他首选方法可以重命名 R 数据框中的列?

【问题讨论】:

  • 检查str(investssa)str(investemde)另外,你不需要data.frame(cbind,只需data.frame(..就足够了
  • 首先,1990:2015 不是合适的变量名,如果这是数据框 df 的原始列的一部分,则使用 invest &lt;- cbind.data.frame(df$"1990:2015", df$investssa, df$investemde) 并使用 colnames(invest) &lt;- c("year", "ssa", "emde")

标签: r dataframe


【解决方案1】:

我发现了错误。我是个假人,在 RStudio 中打开了数据框(我使用 GUI 来完成,但等效的是使用 View 命令)。我猜当您打开数据框,然后尝试更改列名或更改数据框的固有特征时,您会收到此警告。

【讨论】:

  • 感谢的最佳位置(有些人不赞成发布它们,但我不介意)在问题的答案下方。
  • 刚刚遇到这种情况 - 令人困惑,因为我什至没有使用 DataTable。太糟糕了,RStudio 没有捕捉到这个错误并将其转换为更用户友好的东西
【解决方案2】:

dataframe 函数内部不需要 cbind。

试试这个 ->

invest <- data.frame(A = 1990:2015, B = investssa, C = investemde)
colnames(invest) <- c("year", "ssa", "emde")

invest <- data.frame(year = 1990:2015, ssa = investssa, emde = investemde)

我认为这会有所帮助...

【讨论】:

  • OP 的语法不寻常,但我认为您没有证明这与他们得到的错误之间存在关系
猜你喜欢
  • 2021-10-08
  • 1970-01-01
  • 2019-09-05
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 2018-12-21
  • 1970-01-01
相关资源
最近更新 更多