![](/img/trans.png)
[英]Replace NA values in a data frame column with values with elements from a vector
[英]How to replace NA values in one column of a data frame, with values from a column in a different data frame?
如何將 'example' 中的 NA 值替換為 'example 2' 中的相應值? 所以 7 將代替第一個 NA,8 將代替第二個 NA 等等。我的數據要大得多,所以我無法為多個 NA 單獨重命名值。 謝謝
example <- data.frame('count' = c(1,3,4,NA,8,NA,9,0,NA,NA,7,5,8,NA))
example2 <- data.frame('count' = c(7,8,4,6,7))
另一種可能的解決方案,基於replace
:
example$count <- replace(example$count, is.na(example$count), example2$count)
example
#> count
#> 1 1
#> 2 3
#> 3 4
#> 4 7
#> 5 8
#> 6 8
#> 7 9
#> 8 0
#> 9 4
#> 10 6
#> 11 7
#> 12 5
#> 13 8
#> 14 7
您可以嘗試:
example[is.na(example),] <- example2
這會給你:
count
1 1
2 3
3 4
4 7
5 8
6 8
7 9
8 0
9 4
10 6
11 7
12 5
13 8
14 7
編輯:由於您的數據框中可能不止一列,因此您應該使用:
example$count[is.na(example$count)] <- example2$count
另一個which
檢查 NA 值索引的選項:
ind <- which(is.na(example$count))
example[ind, "count"] <- example2$count
輸出:
count
1 1
2 3
3 4
4 7
5 8
6 8
7 9
8 0
9 4
10 6
11 7
12 5
13 8
14 7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.