我尝试合并,并认为我做错了什么,因为现有值被删除了。 这是一个示例:
Data frame 1:
ID Color Size Shape
1 red s circle
2 NA s circle
3 blue s circle
4 NA s circle
Data frame 2:
ID Color
2 blue
4 green
我想要这个...
ID COLOR Size Shape
1 red s circle
2 blue s circle
3 blue s circle
4 green s circle
这里是我的实际数据帧的样本。
我尝试过这个。...
Dataframe1 <- scalemerge
Dataframe2 <- finding_NA_URIS
colnames(finding_NA_URIS) <- c("track","artist_uri","track_uri","album")
inx <- is.na(Dataframe1$track_uri)
Dataframe1$track_uri[inx] <- Dataframe2$track_uri[match(Dataframe1$track[inx], Dataframe2$track)]
答案 0 :(得分:1)
使用基数R可以使用match
。
inx <- is.na(Dataframe1$Color)
Dataframe1$Color[inx] <- Dataframe2$Color[match(Dataframe1$ID[inx], Dataframe2$ID)]
Dataframe1
# ID Color Size Shape
#1 1 red s circle
#2 2 blue s circle
#3 3 blue s circle
#4 4 green s circle
数据。
Dataframe1 <- read.table(text = "
ID Color Size Shape
1 red s circle
2 NA s circle
3 blue s circle
4 NA s circle
", header = TRUE, stringsAsFactors = FALSE)
Dataframe2 <- read.table(text = "
ID Color
2 blue
4 green
", header = TRUE, stringsAsFactors = FALSE)