值我有一個數據幀像這樣:R:有條件取代環
rel <- c(2, 5, NA, 3, 6)
year.in <- c(4, NA, 2, 3, 2)
year.out <- c(6, 7, NA, 5, 4)
year.1 <- c(NA, NA, NA, NA, NA)
year.2 <- c(NA, NA, NA, NA, NA)
year.3 <- c(NA, NA, NA, NA, NA)
year.4 <- c(NA, NA, NA, NA, NA)
year.5 <- c(NA, NA, NA, NA, NA)
df <- as.data.frame(cbind(rel, year.in, year.out, year.1, year.2, year.3,
year.4, year.5))
我想要做的是更新的year.1缺失值 - 一倍。5以「相對」的價值,但只有:(year.in> = year.i AND year.out < = year.i)(i是1:5)
關注進入年份,我想出了這個:
for (i in 1:5) ifelse(df$year.in < i,
df[paste("year", i, sep= ".")]<- NA,
df[paste("year", i, sep= ".")]<- df["rel"])
但是,這僅僅取代所有year.i變量的值爲rel。
我有兩個問題:
我怎麼能與中提到的條件的「相對」值更新year.i變量?
在這裏使用if else語句不好嗎?
最佳和在此先感謝,
理查德
謝謝,這有很大的幫助,我會確保更深入地學習data.table包! – Richard