[英]Lookup table for 2 pairs of data in R
我為R中的2對數據做了一個查找表
數據測試:
T RH
32 0
45 12
36 15
29 25
28 35
查找表(這里只列出了一些):
32 11 3.95
32 12 3.9
32 13 3.85
32 14 3.8
32 15 3.75
32 16 3.7
但是在 output 中丟棄了與查找表不匹配的數據
如何使 output 具有相同大小的行,並在 output 的行中使用 NA 與查找表不匹配?
順便說一句,我的代碼是這樣的:
A1 <- data-tes
B1 <- lookup
library(dplyr)
anti_join(anti_join(B1, A1 )) %>%
select(-Rate)
TCI2 <- bind_rows(inner_join(B1, A1 ))
對不起,我的意思是這樣的:
數據測試:T RH 32 0 45 12 36 15 29 25 28 35
查表:T RH Rate 32 0 5 45 12 4 70 15 3 80 25 2
Output 所需:T RH 率 32 0 5 45 12 4 36 15 NA 29 25 NA 28 35 NA
NA 因為沒有使用查找表進行數學運算
感謝您使用更多詳細信息更新您的問題,但請編輯您的原始問題以包含新的詳細信息,而不是將它們添加到評論中。
看起來你想要一個“左連接”(正如@Maurits Evers 在上面的評論中所建議的那樣),例如
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
A1 <- read.table(text = "T RH
32 0
45 12
36 15
29 25
28 35 ", header = TRUE)
B1 <- read.table(text = "T RH Rate
32 0 5
45 12 4
70 15 3
80 25 2", header = TRUE)
desired_outcome <- read.table(text = "T RH Rate
32 0 5
45 12 4
36 15 NA
29 25 NA
28 35 NA", header = TRUE)
left_join(A1, B1)
#> Joining, by = c("T", "RH")
#> T RH Rate
#> 1 32 0 5
#> 2 45 12 4
#> 3 36 15 NA
#> 4 29 25 NA
#> 5 28 35 NA
desired_outcome
#> T RH Rate
#> 1 32 0 5
#> 2 45 12 4
#> 3 36 15 NA
#> 4 29 25 NA
#> 5 28 35 NA
由reprex package (v2.0.1) 創建於 2022-02-17
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.