當選擇取決於條件時,我在從R中的數據框中刪除列時遇到了很多困難。例如,根據性別是男性還是女性,我想刪除男性或女性專欄。 Person代表一個數據框。以下是我的代碼:基於條件從數據框中刪除列
Gender <- "male"
dd <- subset(person, select = c(-Male))
de <- subset(person, select = c(-Female))
person1 <- ifelse(Gender=="male", dd, de)
此代碼導致列出數據框中的第一列。數據框的頭部在下面。順便說一下變量dd和de工作正常。只有if else語句可能是因爲我的條件在數據框之外。當我在數據幀向量中引入性別時,我得到一個NULL結果。
同樣,如果使用下面的代碼刪除之列,它的工作原理,但我卡住了,如果其他部件
Myvars <- names(person) %in% c("Female")
DL <- person [! Myvars]
的數據幀
RoundDownAge Male Female
54 938202 969252
54 938202 969252
54 938202 969252
54 938202 969252
54 938202 969252
54 938202 969252
謝謝
什麼是預期的數據幀? – Ananta
同意@Ananta提出這些問題的最佳方式是告訴我們你有什麼,並告訴我們你的期望。 –
預期的數據框將包含兩列RoundDownAge和Male。但是,如果性別是女性(請參閱第一行代碼),則兩列將爲RoundDownAge和Female。謝謝 – user3063214