如何为嵌套列表复制函数
How to replicate a function for a nested list
我有一个嵌套列表 (datalist),我想为其重复以下功能。数据列表中有多个数据帧(例如 A-F)。
对嵌套数据框“A”执行以下操作后,我想运行其他嵌套数据框 (B-F):
dat_A_dat<-datalist["A"]
dat_A <- dat_A_dat$"A"[,c(1:4,7)] #note: I have to use $ to access this
dat_A.v <-dat_A[,c(1,2)]
dat_A.b <-dat_A[,3]
dat_A.c <-dat_A[,4]
dat_A.r <-dat_A[,7]
有更简单的方法吗?
非常感谢您的帮助。谢谢大家
不清楚你的数据是什么结构或者你到底想实现什么,但如果你只是问如何编写一个可以应用于列表中每个元素的函数,那么它会是一些东西像下面这样。
注意:您可能需要根据您的数据结构和您想要实现的目标来更改此设置,将来尝试包括一个可重现的示例
my_extraction_function <- function(d_list) {
dat <- d_list$"A"[,c(1:4,7)] #note: I have to use $ to access this
dat.v <-dat[,c(1,2)]
dat.b <-dat[,3]
dat.c <-dat[,4]
dat.r <-dat[,7]
# Return them in whatever format you want
list(v = dat.v,
b = dat.b,
c = dat.c,
r = dat.r)
}
然后你可以这样做:
my_extraction_function(datalist[["A"]])
my_extraction_function(datalist[["B"]])
... etc.
或
lapply(datalist, my_extraction_function)
我有一个嵌套列表 (datalist),我想为其重复以下功能。数据列表中有多个数据帧(例如 A-F)。
对嵌套数据框“A”执行以下操作后,我想运行其他嵌套数据框 (B-F):
dat_A_dat<-datalist["A"]
dat_A <- dat_A_dat$"A"[,c(1:4,7)] #note: I have to use $ to access this
dat_A.v <-dat_A[,c(1,2)]
dat_A.b <-dat_A[,3]
dat_A.c <-dat_A[,4]
dat_A.r <-dat_A[,7]
有更简单的方法吗?
非常感谢您的帮助。谢谢大家
不清楚你的数据是什么结构或者你到底想实现什么,但如果你只是问如何编写一个可以应用于列表中每个元素的函数,那么它会是一些东西像下面这样。
注意:您可能需要根据您的数据结构和您想要实现的目标来更改此设置,将来尝试包括一个可重现的示例
my_extraction_function <- function(d_list) {
dat <- d_list$"A"[,c(1:4,7)] #note: I have to use $ to access this
dat.v <-dat[,c(1,2)]
dat.b <-dat[,3]
dat.c <-dat[,4]
dat.r <-dat[,7]
# Return them in whatever format you want
list(v = dat.v,
b = dat.b,
c = dat.c,
r = dat.r)
}
然后你可以这样做:
my_extraction_function(datalist[["A"]])
my_extraction_function(datalist[["B"]])
... etc.
或
lapply(datalist, my_extraction_function)