根据 R 中的另一个数值列查找列值的总和。
要根据R中的另一个数字列查找列值的总和,我们可以使用with函数并通过在单个方括号的帮助下对列进行子集来定义总和。
例如,如果我们有一个名为df的数据框,其中包含两列X和Y,那么当Y大于10时,我们可以使用以下命令找到X中的值的总和-
(df,sum(X[Y10]))
示例1
以下代码段创建了一个示例数据框-
x1<-rpois(20,2) y1<-rpois(20,2) df1<-data.frame(x1,y1) df1
创建了以下数据框
x1 y1 1 1 1 2 0 1 3 0 1 4 2 3 5 3 1 6 0 2 7 7 2 8 3 1 9 2 3 10 2 1 11 3 5 12 3 2 13 4 2 14 0 4 15 1 5 16 2 1 17 3 3 18 2 0 19 3 1 20 1 2
要在上面创建的数据框中找到x1介于1和4之间时y1值的总和,请将以下代码添加到上述代码段中-
x1<-rpois(20,2) y1<-rpois(20,2) df1<-data.frame(x1,y1) with(df1,sum(y1[x1>1 & x1<4]))输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[1] 23
示例2
以下代码段创建了一个示例数据框-
x2<-rnorm(20) y2<-rnorm(20) df2<-data.frame(x2,y2) df2
创建了以下数据框
x2 y2 1 1.14755939 0.2739985 2 0.33167239 -0.2753514 3 -0.01889732 2.0004839 4 -0.21294107 -1.2277250 5 -1.01230915 -0.4567277 6 0.30736328 0.8563572 7 0.59352845 0.7922568 8 -1.52657337 0.6147363 9 1.43228181 -0.7891716 10 0.15651466 -1.0415412 11 0.01792464 -0.3184454 12 -0.39428864 1.8005928 13 -0.48033841 -1.2787737 14 -0.51845529 0.2815327 15 0.33342239 -0.1313864 16 0.80461529 -0.2456082 17 0.30222411 -1.0134336 18 -0.83910609 -0.8805410 19 -0.06040907 1.4582650 20 0.12855851 -0.3424985
要在上面创建的数据框中找到x2介于1和1.2之间时y2值的总和,请将以下代码添加到上面的代码段中-
x2<-rnorm(20) y2<-rnorm(20) df2<-data.frame(x2,y2) with(df2,sum(y2[x>21 & x2<1.2]))输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[1] 0.2739985
示例3
以下代码段创建了一个示例数据框-
x3<-sample(0:9,20,replace=TRUE) y3<-sample(0:9,20,replace=TRUE) df3<-data.frame(x3,y3) df3
创建了以下数据框
x3 y3 1 9 0 2 2 3 3 2 1 4 1 2 5 2 0 6 1 6 7 3 1 8 1 0 9 9 5 10 6 9 11 1 5 12 6 6 13 7 3 14 9 7 15 9 8 16 5 8 17 0 1 18 6 9 19 3 4 20 1 3
要在上面创建的数据框中找到x3介于8和10之间时y3值的总和,请将以下代码添加到上述代码段中-
x3<-sample(0:9,20,replace=TRUE) y3<-sample(0:9,20,replace=TRUE) df3<-data.frame(x3,y3) with(df3,sum(y3[x>38 & x3<10]))输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
[1] 20