我有一些數據集丟失了數據集,現在我需要用sample()
函數來僞裝10次來替換NA,但是對sample()
函數有更多的要求。使用樣本函數sample()用一些條件替換R中的NA
ID <- c(rep(1,4), rep(3, 5), rep(4,4),rep(5,5),rep(6,5))
Begin <- c(0,2.5,3.5,3,7,8,7,25,25,10,15,0,0,1,NA,10,11,13,NA,NA, 8, 12, NA)
End <- c(1.5,3.5,NA,6,12,8,11,29,35, 12,19,NA,28,5,20,30,20,25,6,7,13,NA, 23)
GA <- c(23, 34, 38, 16, 20, 38, 32, 28, 30, 34,25,45,34,23, 34, 38, 16, 20, 38, 32, 28, 30, 34)
df <- data.table(ID, Begin, End, GA)
ID Begin End GA
1: 1 0.0 1.5 23
2: 1 2.5 3.5 34
3: 1 3.5 NA 38
4: 1 3.0 6.0 16
5: 3 7.0 12.0 20
6: 3 8.0 8.0 38
7: 3 7.0 11.0 32
8: 3 25.0 29.0 28
9: 3 25.0 35.0 30
10: 4 10.0 12.0 34
11: 4 15.0 19.0 25
12: 4 0.0 NA 45
13: 4 0.0 28.0 34
14: 5 1.0 5.0 23
15: 5 NA 20.0 34
16: 5 10.0 30.0 38
17: 5 11.0 20.0 16
18: 5 13.0 25.0 20
19: 6 NA 6.0 38
20: 6 NA 7.0 32
21: 6 8.0 13.0 28
22: 6 12.0 NA 30
23: 6 NA 23.0 34
- 組由ID
- 如果我們品嚐完變量,NA的範圍,需要比下一行比GA比開始更小,更大的,比以前的更大一行和更小的。
- 如果我們採樣開始可變,NA的範圍,需要比結束的前一行較小然後結束可變的,但更大的
實施例:
第3行,完變量爲NA,使得當我們採樣,即NA需要是在範圍[3,5,6-]
第12行,結束變量爲NA,即NA必須在範圍[19,28]
列15,開始是NA,所以NA> = 5 & NA < = 20,NA < = 34,所以範圍[5,20]
行19,開始是NA,[0,6]
列20,開始是NA,NA> = 6,NA < = 7,所以範圍[6,7]
行22,結束爲NA,NA [13,23]
行23的範圍內,開始是NA,NA> =值我們只是樣品列22, NA < = 23
那麼,你到目前爲止嘗試過什麼? –
我同情那些用英語來做這件事的人,這不是他們的自然語言,但請仔細檢查你的問題,看看你能否糾正語法錯誤。我不完全理解爲你做這件事。 –
我差不多完成了,我將在後面重寫 – BIN