将一些功能应用于列表中数据框的列

用户名

我知道我们可以使用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.frames上应用一个更简单的选项

lapply(LIST, type.convert)

或使用 tidyverse

library(dplyr)
library(purrr)
map(LIST, ~ .x %>%
               transmute_at(-1, as.numeric))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章