簡體   English   中英

從三個數據幀逐個組合列

[英]Combining columns one by one from three dataframes

我有三個數據幀,例如,第一個具有變量x1x2x3 第二個有y1y2y3 ,最后一個有z1z2z3列。 我想用這樣的順序創建一個數據幀:

x1 y1 z1 x2 y2 z2 x3 y3 z3
x1 <- c(1:10)
x2 <- c(1:10)
x3 <- c(11:20)
x <- data.frame(cbind(x1,x2,x3))

y1 <- c(1:10)
y2 <- c(1:10)
y3 <- c(11:20)
y <- data.frame(cbind(y1,y2,y3))

z1 <- c(1:10)
z2 <- c(1:10)
z3 <- c(11:20)
z <- data.frame(cbind(z1,z2,z3))

三個數據幀有更多的列(15),我希望有一個列,第二個有秒......

假設每個數據幀中的行數相同,您可以cbind它們cbind ,刪除字符並使用order

df <- cbind(df1, df2, df3)
df[, order(gsub("[A-Za-z]", "", names(df)))]

#  x1 y1 z1 x2 y2 z2 x3 y3 z3
#1  1  1  1  6  6  6 11 11 11
#2  2  2  2  7  7  7 12 12 12
#3  3  3  3  8  8  8 13 13 13
#4  4  4  4  9  9  9 14 14 14
#5  5  5  5 10 10 10 15 15 15

數據

df1 <- data.frame(x1 = 1:5, x2 = 6:10, x3 = 11:15)
df2 <- data.frame(y1 = 1:5, y2 = 6:10, y3 = 11:15)
df3 <- data.frame(z1 = 1:5, z2 = 6:10, z3 = 11:15)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM