我有一個數據框,其中包含以下列。我想寫條件語句是這樣的:R條件陳述
df $ [df$literacy==FALSE,] eduyears <- 0
這意味着,如果df $ literacy is FALSE
,然後在該特定行eduyears
列應該設置數量0
。但是這個命令在我的系統上不起作用。
它是正確的嗎?如果不正確,我應該使用什麼聲明?
我有一個數據框,其中包含以下列。我想寫條件語句是這樣的:R條件陳述
df $ [df$literacy==FALSE,] eduyears <- 0
這意味着,如果df $ literacy is FALSE
,然後在該特定行eduyears
列應該設置數量0
。但是這個命令在我的系統上不起作用。
它是正確的嗎?如果不正確,我應該使用什麼聲明?
如果我理解正確的,你那麼這應該這樣做:
編輯:(評論)之後
dat$eduyears <- ifelse(dat$literacy==FALSE,0,dat$eduyears)
假設你的輸入是這樣的:
THEN
你的輸出中應該是這樣的:
這是你想要的嗎?
您可以使用
df$eduyears[!df$literacy] <- 0
df$literacy
是一個合乎邏輯的載體。如果您否定它(!
),FALSE
將變爲TRUE
(反之亦然)。此矢量可用作df$eduyears
的索引。
這是一個好主意謝謝 – user3041372
不,我不想要它,因爲如果student = true,我有其他教育年的數字(7,8,9,10,...),我只想爲student = false把df $ eduyears = 0。所以我需要一個在student = false – user3041372
中工作的命令我附上了一些截圖,你應該把一些輸入數據作爲樣本。 – PKumar
是我的輸入和輸出像上面的截圖 – user3041372