gpt4 book ai didi

r - 组合两个数据框列表,逐个数据框

转载 作者:行者123 更新时间:2023-12-04 02:07:39 25 4
gpt4 key购买 nike

我有什么无疑是一个简单的问题。我花了最后一个小时左右寻找解决方案,但显然缺少一些东西。如果这确实是重复的,请将我链接到正确的方法来做到这一点:

示例数据:

names <- c("Cycling1.opr", "Cycling2.opr", "Cycling3.opr")
mydf1 <- data.frame(V1=c(1:5), V2=c(21:25))
mydf2 <- data.frame(V1=c(1:10), V2=c(21:30))
mydf3 <- data.frame(V1=c(1:30), V2=c(21:50))
opr <- list(mydf1,mydf2,mydf3)
mydf4 <- data.frame(timestamp=c(1:5))
mydf5 <- data.frame(timestamp=c(1:10))
mydf6 <- data.frame(timestamp=c(1:30))
timestamp <- list(mydf4,mydf5,mydf6)
names(opr) <- names
names(timestamp) <- names

每个列表(opr 和时间戳)始终具有相同数量的 data.frames,并且当具有相同名称时,这些 data.frames 中的每一个始终具有相同的长度。我想要做的是将每个类似命名的数据帧合并到一个数据帧中作为最终列表(可能名为 finalopr)的一部分,使其结构如下。
dput(finalopr)
list(structure(list(V1 = 1:5, V2 = 21:25, timestamp = 1:5), .Names = c("V1",
"V2", "timestamp"), row.names = c(NA, -5L), class = "data.frame"),
structure(list(V1 = 1:10, V2 = 21:30, timestamp = 1:10), .Names = c("V1",
"V2", "timestamp"), row.names = c(NA, -10L), class = "data.frame"),
structure(list(V1 = 1:30, V2 = 21:50, timestamp = 1:30), .Names = c("V1",
"V2", "timestamp"), row.names = c(NA, -30L), class = "data.frame"))

最佳答案

> mapply(cbind, opr, timestamp, SIMPLIFY=FALSE)
$Cycling1.opr
V1 V2 timestamp
1 1 21 1
2 2 22 2
3 3 23 3
4 4 24 4
5 5 25 5

$Cycling2.opr
V1 V2 timestamp
1 1 21 1
2 2 22 2
3 3 23 3
4 4 24 4
5 5 25 5
6 6 26 6
7 7 27 7
8 8 28 8
9 9 29 9
10 10 30 10

$Cycling3.opr
V1 V2 timestamp
1 1 21 1
2 2 22 2
3 3 23 3
4 4 24 4
5 5 25 5
6 6 26 6
7 7 27 7
8 8 28 8
9 9 29 9
10 10 30 10
11 11 31 11
12 12 32 12
13 13 33 13
14 14 34 14
15 15 35 15
16 16 36 16
17 17 37 17
18 18 38 18
19 19 39 19
20 20 40 20
21 21 41 21
22 22 42 22
23 23 43 23
24 24 44 24
25 25 45 25
26 26 46 26
27 27 47 27
28 28 48 28
29 29 49 29
30 30 50 30

这是结构:
> str(mapply(cbind, opr, timestamp, SIMPLIFY=FALSE))
List of 3
$ Cycling1.opr:'data.frame': 5 obs. of 3 variables:
..$ V1 : int [1:5] 1 2 3 4 5
..$ V2 : int [1:5] 21 22 23 24 25
..$ timestamp: int [1:5] 1 2 3 4 5
$ Cycling2.opr:'data.frame': 10 obs. of 3 variables:
..$ V1 : int [1:10] 1 2 3 4 5 6 7 8 9 10
..$ V2 : int [1:10] 21 22 23 24 25 26 27 28 29 30
..$ timestamp: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ Cycling3.opr:'data.frame': 30 obs. of 3 variables:
..$ V1 : int [1:30] 1 2 3 4 5 6 7 8 9 10 ...
..$ V2 : int [1:30] 21 22 23 24 25 26 27 28 29 30 ...
..$ timestamp: int [1:30] 1 2 3 4 5 6 7 8 9 10 ...

关于r - 组合两个数据框列表,逐个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20609484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com