【发布时间】:2015-09-09 02:33:48
【问题描述】:
我有 6 个数据框,所有数据框都具有唯一的列名、相同数量的列,并且数据是在同一时间段内收集的。
每个数据帧都有一个时间戳和分钟平均值,但有些数据帧缺少数据并且列长度不相等。
我想合并数据帧以并排显示所有 6 个数据帧,但仅有时该数据存在于所有 6 个数据帧中,即列数最少的 df,即“H1_min”
> head(H1_min)
h1min h1temp h1humid h1db h1hz
1 2015-09-06 00:00:00 21.5 73.10 39.252 117.1900
2 2015-09-06 00:02:00 21.5 72.50 39.434 125.0000
3 2015-09-06 00:03:00 21.5 72.65 39.338 127.9325
4 2015-09-06 00:04:00 21.5 73.00 39.206 148.4400
5 2015-09-06 00:06:00 21.5 73.00 39.253 144.5350
6 2015-09-06 00:07:00 21.5 72.30 39.293 156.2500
其他数据帧的列名相似,但 H1 = H2 到 H6。
dput(head(H2_min))
"2015-09-08 20:21:00", "2015-09-08 20:22:00", "2015-09-08 20:23:00",
"2015-09-08 20:24:00", "2015-09-08 20:25:00", "2015-09-08 20:26:00",
"2015-09-08 20:27:00", "2015-09-08 20:28:00", "2015-09-08 20:29:00",
"2015-09-08 20:30:00", "2015-09-08 20:31:00", "2015-09-08 20:32:00",
"2015-09-08 20:33:00", "2015-09-08 20:34:00", "2015-09-08 20:35:00"
), class = "factor"), h2temp = c(23.4, 23.4, 23.3, 23.2, 23.2,
23.1), h2humid = c(38.5, 38.3, 38.05, 38.1, 38.6, 38.6), h2db = c(38.834,
38.655, 38.679, 38.695, 38.806, 38.702), h2hz = c(191.41, 152.34,
162.11, 113.28, 121.09, 164.06)), .Names = c("h2min", "h2temp",
"h2humid", "h2db", "h2hz"), row.names = c(NA, 6L), class = "data.frame")
dput(head(H4_min))
"2015-09-08 17:10:00", "2015-09-08 17:11:00", "2015-09-08 17:12:00",
"2015-09-08 17:13:00"), class = "factor"), h4temp = c(27.2, 27.2,
27.2, 27.2, 27.2, 27.2), h4humid = c(33.5, 33.5, 33.5, 33.5,
33.5, 33.5), h4db = c(36.8225, 36.921, 36.8766666666667, 36.91,
36.8336666666667, 36.768), h4hz = c(134.765, 136.068333333333,
137.373333333333, 126.3, 139.323333333333, 128.906666666667)), .Names =
c("h4min", "h4temp", "h4humid", "h4db", "h4hz"), row.names = c(NA, 6L), class = "data.frame")
这种尝试产生了:
H_min<-merge(H1_min, H2_min, H3_min, H4_min, H5_min, H6_min, by.x = 'row.names', by.y ='h1_min')
Error in fix.by(by.y, y) : 'by' must specify a uniquely valid column
【问题讨论】:
-
带空格的数据很难输入。请提供
dput(head(H1_min))的输出。额外数据框的此类输出也会有所帮助。 -
当然,为第二个数据帧添加了它
-
@Evan 不是 dput 输出...应该以
structure(... -
这是输出的尾部,因为输出太大而无法滚动到顶部。你想看点别的吗?
-
@Evan 是的,还有别的。
dput的 full 输出很有用,其他都是噪音。如有必要,使用head的第二个参数减少行数,但不要修剪dput报告的内容。