0
我合併幾個data.frame
s的在R. rbind
我想要輸出之間的各休息data.frame
諸如與data.frame
秒之間只有「#」字符一個新行。包括間隙合併的數據幀時具有rbind
請讓我知道如果/如何這是可能的。
我合併幾個data.frame
s的在R. rbind
我想要輸出之間的各休息data.frame
諸如與data.frame
秒之間只有「#」字符一個新行。包括間隙合併的數據幀時具有rbind
請讓我知道如果/如何這是可能的。
我真的不知道爲什麼有人想做到這一點,除了目視間隔。如果是這樣的話,也許你可以使用類似這樣的函數(但請注意,輸出不是真正的功能)。
hashbind <- function(..., hash = "#") {
lst <- list(...)
Nchar <- max(rapply(lst, function(y) nchar(as.character(y)))) + 2
do.call(
rbind,
lapply(lst, function(x) {
rbind(x, substr(paste(rep(hash, Nchar), collapse = ""), 1, Nchar))
}))
}
讓我們嘗試一下一些data.frame
S:
d1 <- data.frame(A = 1:2, B = 3:4)
d2 <- data.frame(A = 5:6, B = 7:8)
d3 <- data.frame(A = 1:10, B = 11:20)
hashbind(d1, d2, d3)
# A B
# 1 1 3
# 2 2 4
# 3 #### ####
# 4 5 7
# 5 6 8
# 6 #### ####
# 7 1 11
# 8 2 12
# 9 3 13
# 10 4 14
# 11 5 15
# 12 6 16
# 13 7 17
# 14 8 18
# 15 9 19
# 16 10 20
# 17 #### ####
和一些矩陣:
m1 <- matrix(1:4, ncol = 2)
m2 <- matrix(5:8, ncol = 2)
m3 <- matrix(1:20, ncol = 2)
hashbind(m1, m2, m3)
# [,1] [,2]
# [1,] "1" "3"
# [2,] "2" "4"
# [3,] "####" "####"
# [4,] "5" "7"
# [5,] "6" "8"
# [6,] "####" "####"
# [7,] "1" "11"
# [8,] "2" "12"
# [9,] "3" "13"
# [10,] "4" "14"
# [11,] "5" "15"
# [12,] "6" "16"
# [13,] "7" "17"
# [14,] "8" "18"
# [15,] "9" "19"
# [16,] "10" "20"
# [17,] "####" "####"
視覺分離器可自定義的:
hashbind(d1, d2, d3, hash = "-")
# A B
# 1 1 3
# 2 2 4
# 3 ---- ----
# 4 5 7
# 5 6 8
# 6 ---- ----
# 7 1 11
# 8 2 12
# 9 3 13
# 10 4 14
# 11 5 15
# 12 6 16
# 13 7 17
# 14 8 18
# 15 9 19
# 16 10 20
# 17 ---- ----
當然,類似的(但不相同)的方法可以通過只使用by
打印方法來實現。例如,請查看以下輸出:
print.by(list(m1, d2, d3))
'rbind'ing的要點是讓它成爲一個連續的數據塊。如果你想保留的東西分開,你是收集所有的data.frames中的好'list' – James
OK謝謝我會研究 – user964689
什麼是你的目標嗎?我想我們可以幫助你,如果你向我們提供更多關於你想要做的事情的信息。 –