我知道我们可以使用apply或lapply来执行R中for循环可以执行的操作。如果您有一个数据框,则可以apply (dataframe,2,mean)
用来计算列的均值,但是如果我们有数据框列表,该怎么做,我需要进行以下调整:删除第一列并将数据框转换为数字。可以说数据帧的列表是LIST,其中LIST [[1]]是第一个数据帧。
如何对数据帧列表使用lapply一次执行上述操作。因为我应该如何使用lapply对列表内的数据框进行操作
lapply(LIST, function (x) some function)
将操作应用于列表而不是数据框。并且以下没有任何意义:
lapply(LIST[], function (x) some function)
我们可以list
通过删除第一列来遍历数据集的列的子集,遍历该子集,转换为numeric
,将输出分配给数据集,然后返回该数据集
lapply(LIST, function(x) {x[-1] <- lapply(x[-1], as.numeric); x[-1]})
或另一个选择是
lapply(LIST, function(x) data.frame(lapply(x[-1], as.numeric)))
另外,如果需要根据类型进行转换type.convert
,可以在data.frame
s上应用一个更简单的选项。
lapply(LIST, type.convert)
或使用 tidyverse
library(dplyr)
library(purrr)
map(LIST, ~ .x %>%
transmute_at(-1, as.numeric))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句