我们可以使用time_data_from_csv
通过列名合并两个数据帧。
time_info = datetime.strptime(time_data_from_csv, '"%m-%d-%Y %H:%M:%S.%f"')
但是我在处理表对象时遇到了意外的困难。
merge()
到目前为止,我的尝试失败了:
d1 <- data.frame(a=9, b=7)
d2 <- data.frame(a=6, b=5, c=5)
merge(d1, d2, all=TRUE)
# a b c
# 1 6 5 5
# 2 9 7 NA
这很有效,但是太笨拙了:
t1 <- table(mtcars[1:16, 10])
t2 <- table(mtcars[-(1:16), 10])
预期输出:
# fails
merge(t1, t2, all=TRUE)
merge(t(t1), t(t2), all=TRUE)
merge(as.data.frame(t1), as.data.frame(t2), all=TRUE)
rbind(t1, t2)
data.table::rbindlist(t1, t2)
Reduce(function(x, y)
merge(x, y, all=TRUE, by=intersect(names(x), names(y))), list(t1, t2))
我们如何在base R中有效地按列名称合并表对象以获取data.frame?
注意:我可能要问一个重复的问题,但是所谓的“表”解决方案实际上总是与“ data.frame”问题相关联。
答案 0 :(得分:0)
使用提供的每个表的唯一名称,我们可以使用它们的唯一名称来对表中的每个名称进行子集化。该功能应该扩展为可使用任意数量的表,但我仅使用您的示例数据进行了测试
if (contains(ships[shipIdx],column,row) {...}