首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一些函数应用于列表中的dataframes列

将一些函数应用于列表中的dataframes列
EN

Stack Overflow用户
提问于 2019-10-06 23:20:21
回答 1查看 478关注 0票数 1

我知道我们可以使用apply或lapply来执行在R中for循环可以做的事情,如果您有一个dataframe,您可以使用apply (dataframe,2,mean)来计算列的平均值,但是,如果我们有数据列表,那么我需要通过删除第一列并将数据转换为数字来进行以下调整。让我们说,数据的列表是列表,其中LIST[1]是第一个数据。

如何使用列表立即执行上述操作。如何使用lapply对列表中的数据进行操作?

代码语言:javascript
复制
lapply(LIST, function (x) some function)

将该操作应用于“不对数据文件进行列表”。以下是没有任何意义的:

代码语言:javascript
复制
lapply(LIST[], function (x) some function) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-06 23:21:12

我们可以循环遍历list,通过移除第一列来子集数据集的列,通过该子集循环,转换为numeric,将输出分配给数据集,并返回该数据集。

代码语言:javascript
复制
lapply(LIST, function(x) {x[-1] <- lapply(x[-1], as.numeric); x[-1]})

或者另一个选择是

代码语言:javascript
复制
lapply(LIST, function(x) data.frame(lapply(x[-1], as.numeric)))

另外,如果需要根据类型进行转换,一个更容易的选项是type.convert,它可以应用于data.frame

代码语言:javascript
复制
lapply(LIST, type.convert)

或者使用tidyverse

代码语言:javascript
复制
library(dplyr)
library(purrr)
map(LIST, ~ .x %>%
               transmute_at(-1, as.numeric))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58261996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档