【问题标题】:Converting column names to upper case in a list of data frames using lapply explanation使用 lapply 解释将数据框列表中的列名转换为大写
【发布时间】:2022-01-03 21:49:48
【问题描述】:

这可能是一个非常简单的问题,但我一直在努力寻找这个问题。基本上,我使用lapply 将列名转换为数据框列表中的上部。我的第一次尝试没有奏效,但添加 ;x 有效。到底是怎么回事?

这不起作用:

 df.list <- lapply(df.list,function(x) colnames(x) <- toupper(colnames(x)))

这样做:

df.list <- lapply(df.list,function(x) {colnames(x) <- toupper(colnames(x));x})

【问题讨论】:

  • 你可以做lapply(df.list, function (x) dplyr::rename_with(x, toupper))
  • @Phil 这个解决方案有其他选择,dplyr 很好,但我想知道 ;x 通常在函数中的作用
  • 删除了我的回复,我误解了这个问题。原因是您没有在函数内的第一行代码中返回任何内容。
  • @Phil 啊,我明白了 - 现在我觉得很傻,谢谢!
  • 别觉得傻,我问了很多愚蠢的问题。

标签: r function


【解决方案1】:

由于您在函数定义中修改对象 x(或者在本例中仅修改 x 的列名),因此您必须返回修改后的对象 x。这是通过使用;x 发生的,它可以被读取为一个新行,只返回对象x

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2019-12-24
    • 2017-08-14
    • 2016-02-07
    • 1970-01-01
    • 2022-06-27
    • 2019-03-22
    相关资源
    最近更新 更多