在R中的多样化列表上使用lapply

格拉夫·扎尔

我创建了一个包含子列表的列表,每个子列表包含我要R执行的一项任务的信息。

df <- as.data.frame(matrix(1:6 , ncol =2 , nrow = 3))
colnames(df) <- c("Col1", "Col2")
myList <- list()
myList[["Dataset1"]] <- list()
myList[["Dataset1"]]["Function"] <- "mean" 
myList[["Dataset1"]][["DataFrame"]] <- df
myList[["Dataset2"]] <- list()
myList[["Dataset2"]]["Function"] <- "lm" 
myList[["Dataset2"]][["DataFrame"]] <- df*2

现在,我希望R将函数应用于数据框并将结果存储在新列表中。我如何做到最好?

到目前为止,我有两个想法:我要么使用lapply来遍历列表,每次都要从子列表中访问几个项目,并将其提供给新功能

myResult <- lapply(myList, FUN = myList[["Dataset1"]]["Function"](x) , x = as.matrix(myList[["Dataset1"]][["DataFrame"]]))

但是我不知道如何告诉R如何在子列表中正确循环。

其次,我希望能够将整个子列表发送给一个函数,但是我也无法运行它。

myFunction <- function(x){
  TempData <- x[["DataFrame"]]
  TempFunction <- x["Function"]
  
  TempResult <- get(TempFunction)(TempData)
  
  return(TempResult)
}

myResult <- lapply(myList, myFunction(x))

如果有人可以给我一个解决该ID的想法,那就非常高兴。

提前谢谢了!

笨狼

听起来比应该的要复杂。而且还不清楚如何应用mean()或lm()。下面是将函数作为对象存储在列表中的示例:

myList[["Dataset1"]] <- list()
myList[["Dataset1"]][["Function"]] <- function(x)mean(as.matrix(x))
myList[["Dataset1"]][["DataFrame"]] <- df
myList[["Dataset2"]] <- list()
myList[["Dataset2"]][["Function"]] <- function(x){lm(Col2~Col1,data=x)}
myList[["Dataset2"]][["DataFrame"]] <- df*2

因此,您遍历列表中的元素,并获得每个元素的function(dataframe)结果:

lapply(myList,function(i)i$Function(i$DataFrame))
$Dataset1
[1] 3.5

$Dataset2

Call:
lm(formula = Col2 ~ Col1, data = x)

Coefficients:
(Intercept)         Col1  
          6            1  

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用“中端”而不是“中点”创建多样化的调色板

来自分类Dev

在ElasticSearch 7.5中多样化搜索结果

来自分类Dev

跨域Ajax,以多样化对API服务的请求

来自分类Dev

MySQL:选择多样化的统计数据

来自分类Dev

在数据框列表上使用lapply

来自分类Dev

Secure Com SCP02会话:响应初始化更新命令而返回的“密钥多样化数据”的作用是什么

来自分类Dev

通过 lapply 过滤 R 中的对象列表

来自分类Dev

如何使用lapply在R中的列表中查找最接近的值?

来自分类Dev

在列表中的多个列表中定义对象的名称(使用lapply?)

来自分类Dev

R如何在data.frames列表中引用库伦?然后使用lapply?

来自分类Dev

使用lapply对R中的列表的许多元素执行多项操作

来自分类Dev

优化循环以在R中使用lapply或sapply组合列表中的项目

来自分类Dev

使用lapply对R中的列表的许多元素执行多项操作

来自分类Dev

使用 lapply 将单个数据帧子集化为 R 中的数据帧列表

来自分类Dev

如何在列表上使用lapply时访问向量的元素

来自分类Dev

在r中的列表上使用预定义位置列表

来自分类Dev

嵌套lapply()在列表中?

来自分类Dev

R:使用lapply创建新的列和值并应用嵌套在data.frame列表上的输出错误

来自分类Dev

使用 lapply 提取 R 中的列名

来自分类Dev

处理R的lapply函数的输出/从列表中删除元素

来自分类Dev

将列表从lapply导出到R中的csv

来自分类Dev

使用R Lapply和函数参数列表迭代函数

来自分类Dev

使用 R 跨多样本相关的多基因

来自分类Dev

使用lapply操作存储在列表中的data.frames属性

来自分类Dev

使用lapply和gsub重命名列表中的列

来自分类Dev

使用lapply或Map处理数据框列表中的相同变量

来自分类Dev

如何使用lapply更新列表中对象的元素

来自分类Dev

使用 lapply 更改数据框列表中的列名称

来自分类Dev

使用`lapply`重命名列表中的选定列

Related 相关文章

  1. 1

    使用“中端”而不是“中点”创建多样化的调色板

  2. 2

    在ElasticSearch 7.5中多样化搜索结果

  3. 3

    跨域Ajax,以多样化对API服务的请求

  4. 4

    MySQL:选择多样化的统计数据

  5. 5

    在数据框列表上使用lapply

  6. 6

    Secure Com SCP02会话:响应初始化更新命令而返回的“密钥多样化数据”的作用是什么

  7. 7

    通过 lapply 过滤 R 中的对象列表

  8. 8

    如何使用lapply在R中的列表中查找最接近的值?

  9. 9

    在列表中的多个列表中定义对象的名称(使用lapply?)

  10. 10

    R如何在data.frames列表中引用库伦?然后使用lapply?

  11. 11

    使用lapply对R中的列表的许多元素执行多项操作

  12. 12

    优化循环以在R中使用lapply或sapply组合列表中的项目

  13. 13

    使用lapply对R中的列表的许多元素执行多项操作

  14. 14

    使用 lapply 将单个数据帧子集化为 R 中的数据帧列表

  15. 15

    如何在列表上使用lapply时访问向量的元素

  16. 16

    在r中的列表上使用预定义位置列表

  17. 17

    嵌套lapply()在列表中?

  18. 18

    R:使用lapply创建新的列和值并应用嵌套在data.frame列表上的输出错误

  19. 19

    使用 lapply 提取 R 中的列名

  20. 20

    处理R的lapply函数的输出/从列表中删除元素

  21. 21

    将列表从lapply导出到R中的csv

  22. 22

    使用R Lapply和函数参数列表迭代函数

  23. 23

    使用 R 跨多样本相关的多基因

  24. 24

    使用lapply操作存储在列表中的data.frames属性

  25. 25

    使用lapply和gsub重命名列表中的列

  26. 26

    使用lapply或Map处理数据框列表中的相同变量

  27. 27

    如何使用lapply更新列表中对象的元素

  28. 28

    使用 lapply 更改数据框列表中的列名称

  29. 29

    使用`lapply`重命名列表中的选定列

热门标签

归档