【问题标题】:Assign names to subset of columns with paste0如何使用 R 中仅选定的列来执行具有指定值的 paste0
【发布时间】:2022-11-30 06:53:17
【问题描述】:

我有一个包含三列的数据框

  Col1|Col2|Col3

我只想将文本“Table1”合并到 Col2 和 Col3

names(df)<-paste0("Table1_",colnames(df[,c(2:3)]))

但我最终得到

 Table1_Col1|Table1_Col2|

第三列我得到空白并且没有列名。我想得到

Col1| Table1_Col2| Table1_Col3

【问题讨论】:

  • 您还需要为 names 指定索引,如@diomedesdata 的答案所示。否则,您会将两个值分配给三列,这就是第三列为 NA 的原因。

标签: r


【解决方案1】:

你几乎拥有它: names(df)[2:3] &lt;- paste0("Table1_", names(df)[2:3])

因为 data.frame 是向量列表,所以您可以只使用更简单的 names() 而不是 colnames() (但在我看来两者都很好)。

【讨论】:

  • colnames 的参数也可以只是一个向量:names(df)[2:3] &lt;- paste0("Table1_", colnames(df)[2:3])
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 2019-08-13
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
  • 2021-09-24
相关资源
最近更新 更多