【发布时间】:2014-07-16 17:54:28
【问题描述】:
如果我在做
lapply(dataframe, function(x) {
column.name <- #insert code here
})
我如何能够访问 lapply 函数当前正在处理的列的名称?我想将列的名称分配给变量 column.name,如代码中所示。只是澄清一下,是的,column.name 会随着 lapply 的每次迭代而改变。
【问题讨论】:
-
列名应该是
lapply()返回的每个列表元素的名称。这能解决您的问题吗? -
你可以
lapply(seq_along(dataframe), function(i) names(dataframe)[i]),但使用“for”循环可能更方便,因为你也想修改你的“数据框”。 -
我更喜欢编写函数,以便它对名称本身起作用——这样输出将是一个命名列表。类似
lapply(names(dataframe), function(x) { dataframe[x] } -
@TARehman 不,我知道当 'lapply()' 返回时我会得到列名。我需要函数中的列名。我想我只能通过使用其他两位评论者的建议来解决问题。
-
@TARehman 在 R 中,一切皆有可能 :) 见我的回答。
标签: r