如何在 R 資料框中建立一個包含兩列乘積的新列?
有時我們需要將兩列相乘並建立一個新列,以便將乘積進一步用於分析。例如,要計算 BMI,我們需要質量和身高,並且身高需要平方,因此我們需要計算身高的平方。為此,我們可以將身高乘以身高,或者直接取平方,兩種方法都可以。因此,如果 R 資料框中只有身高列,則可以將其自身相乘。
示例
考慮以下資料框:
> set.seed(957) > x<-rpois(20,1) > y<-rpois(20,5) > z<-rpois(20,3) > df<-data.frame(x,y,z) > df
輸出
x y z 1 0 1 3 2 0 7 3 3 0 6 7 4 3 7 3 5 1 3 7 6 0 3 4 7 1 3 5 8 0 4 2 9 0 5 0 10 0 4 3 11 0 3 7 12 0 8 3 13 1 7 5 14 1 5 5 15 1 10 7 16 0 5 3 17 0 7 2 18 0 5 4 19 0 4 4 20 0 5 2
建立包含不同列乘積的新列:
示例
> df$xy<-df$x*df$y > df
輸出
x y z xy 1 0 1 3 0 2 0 7 3 0 3 0 6 7 0 4 3 7 3 21 5 1 3 7 3 6 0 3 4 0 7 1 3 5 3 8 0 4 2 0 9 0 5 0 0 10 0 4 3 0 11 0 3 7 0 12 0 8 3 0 13 1 7 5 7 14 1 5 5 5 15 1 10 7 10 16 0 5 3 0 17 0 7 2 0 18 0 5 4 0 19 0 4 4 0 20 0 5 2 0
示例
> df$xz<-df$x*df$z > df
輸出
x y z xy xz 1 0 1 3 0 0 2 0 7 3 0 0 3 0 6 7 0 0 4 3 7 3 21 9 5 1 3 7 3 7 6 0 3 4 0 0 7 1 3 5 3 5 8 0 4 2 0 0 9 0 5 0 0 0 10 0 4 3 0 0 11 0 3 7 0 0 12 0 8 3 0 0 13 1 7 5 7 5 14 1 5 5 5 5 15 1 10 7 10 7 16 0 5 3 0 0 17 0 7 2 0 0 18 0 5 4 0 0 19 0 4 4 0 0 20 0 5 2 0 0
示例
> df$yz<-df$y*df$z > df
輸出
x y z xy xz yz 1 0 1 3 0 0 3 2 0 7 3 0 0 21 3 0 6 7 0 0 42 4 3 7 3 21 9 21 5 1 3 7 3 7 21 6 0 3 4 0 0 12 7 1 3 5 3 5 15 8 0 4 2 0 0 8 9 0 5 0 0 0 0 10 0 4 3 0 0 12 11 0 3 7 0 0 21 12 0 8 3 0 0 24 13 1 7 5 7 5 35 14 1 5 5 5 5 25 15 1 10 7 10 7 70 16 0 5 3 0 0 15 17 0 7 2 0 0 14 18 0 5 4 0 0 20 19 0 4 4 0 0 16 20 0 5 2 0 0 10
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP