I am having a lot of difficulty removing a column from a data frame in R when the the choice is dependent on a conditional.例如,我想根据性别是男性还是女性删除男性或女性列。 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 语句是一个问题,可能是因为我的条件在数据框之外。当我将 Gender 放入数据框向量中时,我得到一个 NULL 结果。
同样,如果使用以下代码删除列,它可以工作,但我卡在 if else 组件上
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
谢谢
最佳答案
这些代码在你那正常吗?
person1 <- subset(person,select=c(ifelse(Gender=='male',-Male,-Female)))
关于根据条件从数据框中删除列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20528263/