如何用R中的其他数据框更新数据框 [英] How to update data frame with other data frame in R
本文介绍了如何用R中的其他数据框更新数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个数据帧。
第一个是原始数据帧。
第二个是更改的数据帧(此数据列可以由用户更改)。
我想用df2(更改的数据)更新df1数据框。
请参考预期结果例如1、2
我真的很感谢大家的帮助。
# data frame 1 (orignal datas)
age <- c(24, 28, 31, 25, 27, 22, 29)
gender <- c("male", "female", "female", "male", "female", "male", "female")
score <- c(90, 80, 85, 75, 95, 80, 70)
df1 <- data.frame(age, gender, score, stringsAsFactors = FALSE)
df1
> df1
age gender score
1 24 male 90
2 28 female 80
3 31 female 85
4 25 male 75
5 27 female 95
6 22 male 80
7 29 female 70
# data frame2 (other data frame) - column could be changed by user
id <- c("1", "2")
ch_age <- c(50, 40)
ch_score <- c(80, 80)
df2 <- data.frame(id, ch_age, ch_score, stringsAsFactors = FALSE)
df2
> df2
ch_id ch_age ch_score
1 1 50 80
exepcted result
e.g1
age gender score
1 50 male 80 --> applied df2 dataframe this row
2 28 female 80
3 31 female 85
4 25 male 75
5 27 female 95
6 22 male 80
7 29 female 70
e.g2
age gender score
1 24 male 90
2 28 female 80
3 50 female 80 --> applied df2 dataframe this row
4 25 male 75
5 27 female 95
6 22 male 80
7 29 female 70
推荐答案
colnames(df2) <- c("sex", "age", "score")
df2 <- df2[c("age","sex","score")]
for (i in 1:nrow(df2)){
if(df2[i,2] ==1 ){
df2[i,2] <- "male"
}else{
df2[i,2] <- "female"
}
}
rbind(df1, df2)
之后,您可以对行执行操作。
这篇关于如何用R中的其他数据框更新数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文