我正在寻找简单的以下任务;
想象一下有3行5列的数据帧;
X1 X2 X3 X4 X5
1 1 2 3 4 5
2 3 4 5 6 7
3 2 3 4 5 6
我想将另一个常量行添加到最后4列
X1 X2 X3 X4 X5
1 1 2 3 4 5
2 3 4 5 6 7
3 2 3 4 5 6
4 5 5 5 5
我怎么能够做到这一点?先感谢您!
答案 0 :(得分:2)
假设您的原始数据框名为df
,并且您在名为ncol(df)-1
的向量中有长度为data.to.add
的数据:
rbind(df, c(NA, data.to.add))
答案 1 :(得分:0)
这是一个函数:
输入数据:
df<-
fread(" X1 X2 X3 X4 X5
1 1 2 3 4 5
2 3 4 5 6 7
3 2 3 4 5 6")
示例数据:
a=df;b=rep(5,4)
功能:
rbind.filling <- function(a,b) {
n_col<-max(ncol(a),ncol(b))
if(is.null(dim(a))) {a<-matrix(c(rep(NA,n_col-length(a)),a),nrow=1);;colnames(a)<-names(b)} else {
b<-matrix(c(rep(NA,n_col-length(b)),b),nrow=1);colnames(b)<-names(a)}
return(rbind(a,b))
}
通话功能:
rbind.filling(a,b)
# V1 V2 V3 V4 V5 V6
# 1: 1 1 2 3 4 5
# 2: 2 3 4 5 6 7
# 3: 3 2 3 4 5 6
# 4: NA NA 5 5 5 5
rbind.filling(b,a)
# V1 V2 V3 V4 V5 V6
# 1: NA NA 5 5 5 5
# 2: 1 1 2 3 4 5
# 3: 2 3 4 5 6 7
# 4: 3 2 3 4 5 6