如果R数据框中存在NA,如何查找行和?
如果R数据框中存在NA,要查找行和,我们可以使用rowSums函数并将na.rm参数设置为TRUE,此参数将在计算行和之前删除NA值。
例如,如果我们有一个名为df的数据框,其中包含一些NA值,那么我们可以使用以下命令查找行和:
df$Row_Sums<-rowSums(df,na.rm=TRUE)
示例 1
以下代码片段创建了一个示例数据框:
x1<-sample(c(NA,2,5),20,replace=TRUE) x2<-sample(c(NA,2,5),20,replace=TRUE) x3<-sample(c(NA,2,5),20,replace=TRUE) df1<-data.frame(x1,x2,x3) df1
创建了以下数据框
x1 x2 x3 1 2 NA 5 2 NA 2 2 3 2 5 NA 4 NA 5 2 5 NA NA 2 6 5 NA NA 7 5 2 5 8 2 NA NA 9 2 NA 2 10 5 5 5 11 NA 5 2 12 NA NA NA 13 5 2 5 14 2 2 2 15 NA NA 2 16 5 2 NA 17 5 NA 5 18 NA NA 2 19 NA NA NA 20 5 5 NA
要在上面创建的数据框上忽略NA值的情况下,为df1中的每一行查找行和,请将以下代码添加到上述代码片段中:
x1<-sample(c(NA,2,5),20,replace=TRUE) x2<-sample(c(NA,2,5),20,replace=TRUE) x3<-sample(c(NA,2,5),20,replace=TRUE) df1<-data.frame(x1,x2,x3) df1$Row_Sums<-rowSums(df1,na.rm=TRUE) df1
输出
如果您将上述所有代码片段作为单个程序执行,它将生成以下输出:
x1 x2 x3 Row_Sums 1 2 NA 5 7 2 NA 2 2 4 3 2 5 NA 7 4 NA 5 2 7 5 NA NA 2 2 6 5 NA NA 5 7 5 2 5 12 8 2 NA NA 2 9 2 NA 2 4 10 5 5 5 15 11 NA 5 2 7 12 NA NA NA 0 13 5 2 5 12 14 2 2 2 6 15 NA NA 2 2 16 5 2 NA 7 17 5 NA 5 10 18 NA NA 2 2 19 NA NA NA 0 20 5 5 NA 10
示例 2
以下代码片段创建了一个示例数据框:
y1<-sample(c(NA,round(rnorm(3),2)),20,replace=TRUE) y2<-sample(c(NA,round(rnorm(3),2)),20,replace=TRUE) y3<-sample(c(NA,round(rnorm(3),2)),20,replace=TRUE) df2<-data.frame(y1,y2,y3) df2
创建了以下数据框
y1 y2 y3 1 -0.27 NA NA 2 -0.27 NA -0.70 3 -0.33 NA -0.06 4 -0.27 -1.35 -0.09 5 0.23 -2.03 -0.09 6 NA -2.03 -0.70 7 -0.27 NA NA 8 -0.27 -2.03 -0.09 9 -0.27 NA -0.06 10 -0.33 NA -0.70 11 -0.27 NA -0.70 12 NA NA NA 13 -0.33 NA NA 14 NA -1.35 -0.70 15 NA -0.93 -0.06 16 0.23 -1.35 -0.06 17 0.23 -0.93 -0.06 18 -0.27 -0.93 -0.06 19 -0.33 NA -0.06 20 NA -0.93 -0.09
要在上面创建的数据框上忽略NA值的情况下,为df2中的每一行查找行和,请将以下代码添加到上述代码片段中:
y1<-sample(c(NA,round(rnorm(3),2)),20,replace=TRUE) y2<-sample(c(NA,round(rnorm(3),2)),20,replace=TRUE) y3<-sample(c(NA,round(rnorm(3),2)),20,replace=TRUE) df2<-data.frame(y1,y2,y3) df2$Row_Sums<-rowSums(df2,na.rm=TRUE) df2
输出
如果您将上述所有代码片段作为单个程序执行,它将生成以下输出:
y1 y2 y3 Row_Sums 1 -0.27 NA NA -0.27 2 -0.27 NA -0.70 -0.97 3 -0.33 NA -0.06 -0.39 4 -0.27 -1.35 -0.09 -1.71 5 0.23 -2.03 -0.09 -1.89 6 NA -2.03 -0.70 -2.73 7 -0.27 NA NA -0.27 8 -0.27 -2.03 -0.09 -2.39 9 -0.27 NA -0.06 -0.33 10 -0.33 NA -0.70 -1.03 11 -0.27 NA -0.70 -0.97 12 NA NA NA 0.00 13 -0.33 NA NA -0.33 14 NA -1.35 -0.70 -2.05 15 NA -0.93 -0.06 -0.99 16 0.23 -1.35 -0.06 -1.18 17 0.23 -0.93 -0.06 -0.76 18 -0.27 -0.93 -0.06 -1.26 19 -0.33 NA -0.06 -0.39 20 NA -0.93 -0.09 -1.02
广告