如何在 R 資料框中根據另一個數據框中的列值來賦值?
要根據另一列的值為一列賦值,我們可以使用 `ifelse` 函式。`ifelse` 函式使用等號 (==) 檢查一個數據框中的一列的值是否與另一個數據框中另一列的值匹配,如果匹配則替換原始值,否則返回原始值。檢視下面的示例以瞭解如何操作。
示例
考慮以下資料框:
> x1<-rpois(20,2) > x2<-rpois(20,5) > df1<-data.frame(x1,x2) > df1
輸出
x1 x2 1 3 5 2 3 7 3 0 6 4 0 5 5 4 6 6 3 8 7 1 5 8 0 8 9 4 6 10 1 2 11 2 3 12 2 6 13 0 0 14 1 9 15 0 0 16 4 2 17 3 5 18 3 8 19 1 3 20 2 7
示例
> y1<-rpois(20,2) > y2<-rpois(20,5) > df2<-data.frame(y1,y2) > df2
輸出
y1 y2 1 3 8 2 4 11 3 3 8 4 2 2 5 1 3 6 1 4 7 1 7 8 1 2 9 5 2 10 2 4 11 2 3 12 1 3 13 1 5 14 3 4 15 0 3 16 2 5 17 3 5 18 1 7 19 5 10 20 2 6
如果 df1 的 x2 與 df2 的 y2 相同,則替換 df1 中 x1 的值,否則返回 df1 中的 x1:
> df1$x1<-ifelse(df1$x2==df2$y2,df2$y2,df1$x1) > df1
輸出
x1 x2 1 3 5 2 3 7 3 0 6 4 0 5 5 4 6 6 3 8 7 1 5 8 0 8 9 4 6 10 1 2 11 3 3 12 2 6 13 0 0 14 1 9 15 0 0 16 4 2 17 5 5 18 3 8 19 1 3 20 2 7
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP