gpt4 book ai didi

r - 两个结构的猫 : not the same fields

转载 作者:行者123 更新时间:2023-12-02 05:14:41 25 4
gpt4 key购买 nike

我有多个csv文件

一个.csv

field_a, field_b
111, 121
112, 122

b.csv

field_a, field_c
211, 231
212, 232

c.csv

field_a, field_b, field_c
311, 321, 331
312, 322, 332

我想把它们连接起来

输出.csv

field_a,field_b,field_c
111, 121, NA
112, 122, NA
211, NA, 231
212, NA, 232
311, 321, 331
312, 322, 332

我想用 Octave 来做这个。

到目前为止我做了什么:

a=csv2cell(a.csv)
A=cell2struct(a(2:end,:),a(1,:),1)

现在我正在寻找类似的东西

合并(A,B,C)或者 vertcat(A,B,C)

但我没明白,所有字段都在输出中。

我是这样写的:

 filelist<-list.files() 
for (i in 1:length(filelist)) {
datas[[i]]<-list(as.data.frame(read.csv(filelist[i])))
merged <- merge(merged,datas[[i]], all=TRUE)}

但是 for 循环非常慢。所以我正在寻找一次将它们全部合并的可能性。

最佳答案

plyr 包中的

rbind.fill 应该可以完美地处理这个问题:

require(plyr)
rbind.fill(a,b,c)

# field_a field_b field_c
# 1 111 121 NA
# 2 112 122 NA
# 3 211 NA 231
# 4 212 NA 232
# 5 311 321 331
# 6 312 322 332

关于r - 两个结构的猫 : not the same fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14842561/

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