当选择取决于条件时,我在从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