У меня есть датафрейм с некоторыми пропущенными значениями.Я хочу заполнить эти пропущенные значения на основе значения другой переменной в моем фрейме данных, но не могу обработать код.
library(tidyr)
farm<- c(1, 1, 2, 3, 3, 3, 4)
region<- c(NA, NA, NA, NA, NA, NA, 'Woods')
test<- c('x', 'y', 'x', 'x', 'y', 'y',
'x')
i=1:2
j=3
df = data.frame(farm, region, test)
df
вот результат
farm region test
1 1 <NA> x
2 1 <NA> y
3 2 <NA> x
4 3 <NA> x
5 3 <NA> y
6 3 <NA> y
7 4 Woods x
Iхотел бы заполнить регион "mac", если region = 1 или 2, и альтернативно заполнить регион "sto", если region = 3. Я попробовал следующий код:
df <- transform(df,region=if (df$farm==i) "mac" else NA)
df, чтобы начать, но яполучение:
farm
<dbl>
region
<chr>
test
<fctr>
1 mac x
1 mac y
2 mac x
3 mac x
3 mac y
3 mac y
4 mac x
Как вы можете видеть, оно заполняет «mac» за 1 или 2 переменными элементами для фермы.Любой совет будет высоко ценится.