替换数据框中的相同变量
Replace same variables in dataframe
我有一个主 DF
(DF_1
),我经常添加新行。但是,在添加之前,我需要验证 DF_1
(ID
) 中的信息是否也在这个新文件 (DF_2
) 中。我的钥匙是身份证。
DF_1
:
ID <- c(111,222,333,444,555,666)
CAR <- c('BMW','BMW','BMW','FERRARI','FERRARI','VW')
DATE <- c('OCT','NOV','DEC','OCT','DEC','DEC')
TIME <- c(10,12,15,7,11,14)
QUANTITY <- c(115,101,95,88,130,101)
DF_1 <- data.frame(ID,CAR,DATE,TIME,QUANTITY)
下面,DF_2表明ID 222和444已经在DF_1中。由于某种原因,这些 ID 已更改。
DF_2
:
ID <- c(222,444,777,888)
CAR <- c('FORD','TOYOTA','SUBARU','NISSAN')
DATE <- c('JAN','FEB','APR','MAY')
TIME <- c(20,33,45,79)
QUANTITY <- c(12,66,31,15)
DF_2 <- data.frame(ID,CAR,DATE,TIME,QUANTITY)
因此,我需要替换相同的 ID(在此示例中为 222 和 444)并包含新的 ID,正如我在 DF_FINAL
中预期的那样。
DF_FINAL
ID <- c(111,222,333,444,555,666,777,888)
CAR <- c('BMW','FORD','BMW','TOYOTA','FERRARI','VW','SUBARU','NISSAN')
DATE <- c('OCT','JAN','DEC','FEB','DEC','DEC','APR','MAY')
TIME <- c(10,20,15,33,11,14,45,79)
QUANTITY <- c(115,12,95,66,130,101,45,79)
DF_FINAL <- data.frame(ID,CAR,DATE,TIME,QUANTITY)
如何替换相同 ID 的所有行并添加不同的 ID?
我们可以使用 rows_upsert
来自 dplyr
library(dplyr)
rows_upsert(DF_1, DF_2)
我有一个主 DF
(DF_1
),我经常添加新行。但是,在添加之前,我需要验证 DF_1
(ID
) 中的信息是否也在这个新文件 (DF_2
) 中。我的钥匙是身份证。
DF_1
:
ID <- c(111,222,333,444,555,666)
CAR <- c('BMW','BMW','BMW','FERRARI','FERRARI','VW')
DATE <- c('OCT','NOV','DEC','OCT','DEC','DEC')
TIME <- c(10,12,15,7,11,14)
QUANTITY <- c(115,101,95,88,130,101)
DF_1 <- data.frame(ID,CAR,DATE,TIME,QUANTITY)
下面,DF_2表明ID 222和444已经在DF_1中。由于某种原因,这些 ID 已更改。
DF_2
:
ID <- c(222,444,777,888)
CAR <- c('FORD','TOYOTA','SUBARU','NISSAN')
DATE <- c('JAN','FEB','APR','MAY')
TIME <- c(20,33,45,79)
QUANTITY <- c(12,66,31,15)
DF_2 <- data.frame(ID,CAR,DATE,TIME,QUANTITY)
因此,我需要替换相同的 ID(在此示例中为 222 和 444)并包含新的 ID,正如我在 DF_FINAL
中预期的那样。
DF_FINAL
ID <- c(111,222,333,444,555,666,777,888)
CAR <- c('BMW','FORD','BMW','TOYOTA','FERRARI','VW','SUBARU','NISSAN')
DATE <- c('OCT','JAN','DEC','FEB','DEC','DEC','APR','MAY')
TIME <- c(10,20,15,33,11,14,45,79)
QUANTITY <- c(115,12,95,66,130,101,45,79)
DF_FINAL <- data.frame(ID,CAR,DATE,TIME,QUANTITY)
如何替换相同 ID 的所有行并添加不同的 ID?
我们可以使用 rows_upsert
来自 dplyr
library(dplyr)
rows_upsert(DF_1, DF_2)