0
让我明白,我不想添加,乘,减或除数据。我希望新列包含来自第一列和第二列的所有信息。这是我的意思的一个例子。如何将两个数据列放入一个较长的数据列中
data 1 data 2 new data
1 Q 1 Q
2 T 5 T
3 R 3 R
4 1
5 5
6 3
我在看的值不是绝对的,但我用它们作为示例来显示差异。
让我明白,我不想添加,乘,减或除数据。我希望新列包含来自第一列和第二列的所有信息。这是我的意思的一个例子。如何将两个数据列放入一个较长的数据列中
data 1 data 2 new data
1 Q 1 Q
2 T 5 T
3 R 3 R
4 1
5 5
6 3
我在看的值不是绝对的,但我用它们作为示例来显示差异。
cbind.fill <- function(...){
# From a SO answer by Tyler Rinker
nm <- list(...)
nm <- lapply(nm, as.matrix)
n <- max(sapply(nm, nrow))
do.call(cbind, lapply(nm, function (x)
rbind(x, matrix(, n-nrow(x), ncol(x)))))
}
df1 <- data.frame("data 1"=c("Q","T","R"),"data 2"=c(1,5,3), stringsAsFactors = F)
df2 <- cbind.fill(df1, c(df1$data.1, df1$data.2))
colnames(df2) <- c(colnames(df2)[1:2], "new data")
df2
data.1 data.2 new data [1,] "Q" "1" "Q" [2,] "T" "5" "T" [3,] "R" "3" "R" [4,] NA NA "1" [5,] NA NA "5" [6,] NA NA "3"
cbind.fill
功能来源:cbind a df with an empty df (cbind.fill?)
'union'是什么,你可能会寻找。 –
如果两个数据列包含在名为“dat”的两列数据框中,则可以执行Reduce(union,dat)'。 – lmo
在数据1上创建一个插入触发器,该数据对具有相同值的新数据执行更新。在数据2上创建一个后插入触发器,该触发器仅执行插入操作,只将新数据设置为新值。 –