如何找到R数据框中每一行的行产品?
要查找 R 数据帧中每一行的行积,我们可以使用 matrixStats 包的 rowProds 函数,但我们需要将数据帧作为矩阵读取。
例如,如果我们有一个名为 df 的数据框,那么我们可以使用下面给出的命令找到 df 中每一行的行产品 -
rowProds(as.matrix(df))
示例 1
以下代码段创建了一个示例数据框 -
x1<-rpois(20,5)x2<-rpois(20,2)
x3<-rpois(20,1)
df1<-data.frame(x1,x2,x3)
df1
创建以下数据框 -
x1 x2 x31 3 1 4
2 7 2 0
3 2 4 1
4 9 2 0
5 4 2 2
6 7 3 1
7 5 2 2
8 1 2 0
9 4 1 2
10 4 1 0
11 8 2 0
12 6 2 2
13 6 0 2
14 6 3 1
15 4 2 0
16 10 4 1
17 8 0 0
18 5 4 0
19 6 3 0
20 2 2 0
要加载 matrixStats 包并在上面创建的数据框中找到 df1 中数据的行积,请将以下代码添加到上面的代码段中 -
x1<-rpois(20,5)输出结果x2<-rpois(20,2)
x3<-rpois(20,1)
df1<-data.frame(x1,x2,x3)
library(matrixStats)
df1$Row_Product_df1<-rowProds(as.matrix(df1))
df1
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
x1 x2 x3 Row_Product_df11 3 1 4 12
2 7 2 0 0
3 2 4 1 8
4 9 2 0 0
5 4 2 2 16
6 7 3 1 21
7 5 2 2 20
8 1 2 0 0
9 4 1 2 8
10 4 1 0 0
11 8 2 0 0
12 6 2 2 24
13 6 0 2 0
14 6 3 1 18
15 4 2 0 0
16 10 4 1 40
17 8 0 0 0
18 5 4 0 0
19 6 3 0 0
20 2 2 0 0
示例 2
以下代码段创建了一个示例数据框 -
y1<-round(rnorm(20),0)y2<-round(rnorm(20),0)
y3<-round(rnorm(20),0)
y4<-round(rnorm(20),0)
df2<-data.frame(y1,y2,y3,y4)
df2
创建以下数据框 -
y1 y2 y3 y41 0 -1 0 -2
2 0 -1 -1 0
3 1 0 1 0
4 0 0 0 0
5 1 -1 1 2
6 0 0 -1 -1
7 -1 0 -1 0
8 1 0 -1 0
9 -2 0 -2 1
10 0 0 0 1
11 -2 1 -2 0
12 0 1 0 -1
13 3 0 0 1
14 1 -1 1 -2
15 -1 1 1 -1
16 1 1 -1 0
17 0 0 -1 0
18 2 0 2 -1
19 3 2 0 -1
20 1 0 -1 -1
要在上面创建的数据框中找到 df2 中数据的行产品,请将以下代码添加到上面的代码段中 -
y1<-round(rnorm(20),0)输出结果y2<-round(rnorm(20),0)
y3<-round(rnorm(20),0)
y4<-round(rnorm(20),0)
df2<-data.frame(y1,y2,y3,y4)
df2$Row_Product_df2<-rowProds(as.matrix(df2))
df2
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
y1 y2 y3 y4 Row_Product_df21 0 -1 0 -2 0
2 0 -1 -1 0 0
3 1 0 1 0 0
4 0 0 0 0 0
5 1 -1 1 2 -2
6 0 0 -1 -1 0
7 -1 0 -1 0 0
8 1 0 -1 0 0
9 -2 0 -2 1 0
10 0 0 0 1 0
11 -2 1 -2 0 0
12 0 1 0 -1 0
13 3 0 0 1 0
14 1 -1 1 -2 2
15 -1 1 1 -1 1
16 1 1 -1 0 0
17 0 0 -1 0 0
18 2 0 2 -1 0
19 3 2 0 -1 0
20 1 0 -1 -1 0
以上是 如何找到R数据框中每一行的行产品? 的全部内容, 来源链接: utcz.com/z/347452.html