我有5个数据框(df1
,df2
,df3
,df4
,df5
)。它们都具有相同的列和列名称(NIR数据库)。我想将df1
和df2
合并到df12
,然后将df3
,df4
和df5
合并到df345
,最后将df12
和df345
合并到df
。 (必须是这两个阶段。)
df12 <- do.call(rbind, list(df1,df2))
df345 <- do.call(rbind, list(df3,df4,df5))
df <- do.call(rbind, list(df12,df345))
newdf <- data.frame(oiltype="olive",nir=df[2:276]);
有了这个,我得到一个列名nir.nir.V4
,而我需要它nir.V4
。
我认为这是由于使用了列表。我想知道是否有任何替代方案可以组合多个数据帧而不必面对这个问题。感谢任何建议。
答案 0 :(得分:-1)
我有5个data.frame df1,df2,df3,df4,df5具有相同的列和列名称。
> df1
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
> df2
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
> df3
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
7 4.6 3.4 1.4 0.3 setosa
8 5.0 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
> df4
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
10 4.9 3.1 1.5 0.1 setosa
11 5.4 3.7 1.5 0.2 setosa
12 4.8 3.4 1.6 0.2 setosa
> df5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
13 4.8 3 1.4 0.1 setosa
14 4.3 3 1.1 0.1 setosa
15 5.8 4 1.2 0.2 setosa
用于组合df1和df2
> df12 <- rbind(df1,df2)
> df12
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
对于组合df3,df4,df5与上面相同
> df345 <- rbind(df3,df4,df5)
> df345
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
7 4.6 3.4 1.4 0.3 setosa
8 5.0 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
11 5.4 3.7 1.5 0.2 setosa
12 4.8 3.4 1.6 0.2 setosa
13 4.8 3.0 1.4 0.1 setosa
14 4.3 3.0 1.1 0.1 setosa
15 5.8 4.0 1.2 0.2 setosa
最后,可以以类似的方式组合新形成的数据帧
> df <- rbind(df12,df345)
> df
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
8 5.0 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
11 5.4 3.7 1.5 0.2 setosa
12 4.8 3.4 1.6 0.2 setosa
13 4.8 3.0 1.4 0.1 setosa
14 4.3 3.0 1.1 0.1 setosa
15 5.8 4.0 1.2 0.2 setosa