将函数应用于R中的数据帧列表

索尔·加西亚(Saul Garcia)

我需要有关如何以迭代方式管理列表的帮助。

我有以下列表list该列表由具有相同列但行数不同的几个数据帧组成。例:

[[1]]
  id InpatientDays ERVisits OfficeVisits Narcotics
1  a             0        0           18         1
2  b             1        1            6         1
3  c             0        0            5         3
4  d             0        1           19         0
5  e             8        2           19         3
6  f             2        0            9         2

[[2]]
    id InpatientDays ERVisits OfficeVisits Narcotics
7   a            16        1            8         1
8   b             2        0            8         0
9   c             2        1            4         3
10  d             4        2            0         2
11  e             6        5           20         2
12  a             0        0            7         4

我想应用一个函数来获取列表中每个“数据框”的ID的所有可能组合。

我打算尝试类似的方法,但是lapply(list1, function(x) combn(unique(list1[x]$id)))那当然是行不通的。

[[1]]  
    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
[1,] "a"  "a"  "a"  "a"  "a"  "b"  "b"  "b"  "b"  "c"   "c"   "c"   "d"   "d"   "e"  
[2,] "b"  "c"  "d"  "e"  "f"  "c"  "d"  "e"  "f"  "d"   "e"   "f"   "e"   "f"   "f"  

[[2]] 
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "a"  "a"  "a"  "a"  "b"  "b"  "b"  "c"  "c"  "d"  
[2,] "b"  "c"  "d"  "e"  "c"  "d"  "e"  "d"  "e"  "e" 

这可能吗?我肯定知道这适用于单个数据框df

  combn(unique(df$id),2) 
阿克伦

我们需要使用 unique(x$id)

 lapply(list1, function(x) combn(unique(x$id),2))

OP的代码使用循环“ list1” lapply匿名函数调用(function(x))返回list“ x”即“ data.frame”内的每个“ data.frame”。因此,我们只需要调用x$id(或x[['id']])来提取“ id”列。本质上,“ x”不是索引。但是,如果需要基于索引进行子集化,则必须遍历“ list1”的序列(或者如果list元素已命名,则遍历names它的)

lapply(seq_along(list1), function(i) combn(unique(list1[[i]]$id), 2))

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将函数应用于R中的数据帧的嵌套列表

如何将函数应用于R中的数据帧列表?

将 `as.character()` 函数应用于数据帧列表

将dcast()函数应用于数据帧列表

将卡方检验应用于R中的数据帧列表

将函数应用于R数据帧中的时间序列

将匹配函数重复应用于R中的多个数据帧

如何将多个函数应用于 R 中的数据帧

将dplyr函数中包含group_by的函数应用于R中的数据列表

Python PANDAS:将函数应用于数据帧,并在数据帧中定义参数

将多参数函数应用于 R 中列表中的所有数据框

将函数应用于R中的列表矩阵

R - Purrr - 将函数应用于列表中的 Tibbles

将函数应用于数据帧列表,然后将结果写回

当函数需要多个输入时,如何将函数应用于R中数据帧的每一行?

滚动变异函数应用于列表数据帧

将用户定义的函数应用于数据帧列表

R:我正在尝试将 rollmean(zoo) 应用于列表中的几个数据帧中的特定列

Tidyeval:将函数应用于从列表中提取的数据帧

将 reduce 应用于 R 数据帧中列的每一行,其中包含一个列表

按时间将数据帧分为几组,并使用R将函数应用于多列

将函数应用于不同的数据帧

将条件函数应用于数据帧

将属性应用于数据帧,重写比例函数

将函数应用于所有数据帧

r-将函数应用于数据帧各行之间的单个单元格

忽略要应用于数据帧列表 R 的 Ifelse 语句 R 中的 NA

将用户定义的函数应用于数据帧列表中每个数据帧的特定列?

将功能应用于数据帧列表中的相应元素