R 添加两个数据帧值,但其中一个值为NULL
如果您有两个数据帧R 添加两个数据帧值,但其中一个值为NULL,r,dataframe,null,add,R,Dataframe,Null,Add,如果您有两个数据帧 df_A<-data.frame(AA =c(1,2,3), AB =c(1,4,9) df_B<-data.frame(BA =c(4,5), BB = c(16,25)) df_A如果你只是对总和感兴趣,一个快速解决方法是用0填充空行: update <- function(df, max_rows) rbind(df,rep(rep(0,ncol(df)), max_rows-nrow(df))) max_rows <- max(nrow(df
df_A<-data.frame(AA =c(1,2,3), AB =c(1,4,9)
df_B<-data.frame(BA =c(4,5), BB = c(16,25))
df_A如果你只是对总和感兴趣,一个快速解决方法是用0填充空行:
update <- function(df, max_rows) rbind(df,rep(rep(0,ncol(df)), max_rows-nrow(df)))
max_rows <- max(nrow(df_A),nrow(df_B))
df_B <- update(df_B, max_rows)
df_A <- update(df_A, max_rows)
更新这个怎么样:
AddAndFix <- function (x,y)
{
z <- x + y
if (anyNA(z))
{
if (anyNA(x))
{
return(y)
}
return(x)
}
else return(z)
}
AddAndFix(df_A[1,],df_B[1,])
AddAndFix(df_B[3,],df_A[3,])
AddAndFix(df_A[3,],df_B[3,])
AddAndFix这是一个很好的解决方案,但它仅在数据框中已有行时有效,但如果数据框为空,则它将更改行名称,如下所述