我想在每个数据框中使用包含嵌套列表名称的值创建一个新的标识符列。
parent <- list(
a = list(
foo = data.frame(first = c(1, 2, 3), second = c(4, 5, 6)),
bar = data.frame(first = c(1, 2, 3), second = c(4, 5, 6)),
puppy = data.frame(first = c(1, 2, 3), second = c(4, 5, 6))),
b = list(
foo = data.frame(first = c(1, 2, 3), second = c(4, 5, 6)),
bar = data.frame(first = c(1, 2, 3), second = c(4, 5, 6)),
puppy = data.frame(first = c(1, 2, 3), second = c(4, 5, 6))))
因此,列表a中第一个数据帧的结果将如下所示:
> foo
first second identifier
1 1 4 a
2 2 5 a
3 3 6 a
列表b中的第一个数据帧如下所示:
>foo
first second identifier
1 1 4 b
2 2 5 b
3 3 6 b
似乎您可能想要这样的东西
Map(function(name, list) {
lapply(list, function(x) cbind(x, identifier=name))
}, names(parent), parent)
在这里,我们使用Map()
列表,列表名称以及仅cbind
这些标识符并将其放入data.frames中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句