【问题标题】:Colnames() prints column names in rows, I want single columnColnames() 按行打印列名,我想要单列
【发布时间】:2018-12-17 11:12:14
【问题描述】:
df <- data.frame(v1 = 1, v2 = 1, v3 = 1)
colnames(df)

返回控制台:

> colnames(df)
[1] "v1" "v2" "v3"

相反,我希望打印输出为:

[1] "v1"
[2] "v2"
[3] "v3

这样我就可以将打印的输出复制并粘贴到 excel 中,以比较来自多个数据帧的列名。

在 ?colnames() 中看不到任何帮助。我可能错过了一些非常简单的东西。

【问题讨论】:

  • “将打印的输出复制并粘贴到 excel 中以比较多个数据帧中的列名” 你为什么不想使用 R 呢?使用来自所有数据帧的 colnames 创建一个列表并使用该列表。您能否更新您的问题,包括第二个数据框并展示您想要实现的目标?
  • markus,也许他对 R 有一些困难,需要快速提交一些报告。没必要否定帖子,问题很清楚。
  • @markus 因为我对 R 比较陌生,并且在 R 中做基本的事情可能需要很长时间,除非你是 R 绝地武士。正如 skulden 所说,我需要快速完成这项工作,目前没有时间开始学习列表。同意,从长远来看,我只会在 R 中完成这一切。

标签: r


【解决方案1】:

我认为最简单的解决方案是

writeClipboard(colnames(df))

这已经将名称复制到剪贴板,您可以直接将它们(作为列)插入 Excel。

【讨论】:

    【解决方案2】:

    如果输出到 Excel 是您的目标,我会建议

    as.data.frame(colnames(df))
    

    这给出了:

      colnames(df)
    1           v1
    2           v2
    3           v3
    

    如果您的目标是比较多个 data.frames 的结构,那么使用 R 有很多不错的选择,最简单的可能是获得 2 个向量之间的“差异”:

    setdiff(colnames(df1), colnames(df2))
    

    【讨论】:

      【解决方案3】:

      你可以使用“as.matrix”来做这种改变。

      【讨论】:

      • 还有cbind(colnames(df))
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      • 2021-07-25
      • 2022-01-18
      相关资源
      最近更新 更多