Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 添加两个数据帧值,但其中一个值为NULL_R_Dataframe_Null_Add - Fatal编程技术网

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这是一个很好的解决方案,但它仅在数据框中已有行时有效,但如果数据框为空,则它将更改行名称,如下所述