R 在数据框中选择行

R 在数据框中选择行,r,dataframe,R,Dataframe,我是R工作室的新手,在第二年学习数学模块。 我被设置了一个问题“运行命令以显示参赛者为男性的所有行”。我尝试过使用subset函数和$,但似乎无法理解 Age = c(25, 23, 33, 28, 35, 31, 25, 29) Gender = c(Male, Male, Female, Female, Male, Female, Female, Female) Cinema = c(T, T, T, T, F, F, T, F) Shopping = c(F, F, F, T, T, T,

我是R工作室的新手,在第二年学习数学模块。 我被设置了一个问题“运行命令以显示参赛者为男性的所有行”。我尝试过使用subset函数和$,但似乎无法理解

Age = c(25, 23, 33, 28, 35, 31, 25, 29)
Gender = c(Male, Male, Female, Female, Male, Female, Female, Female)
Cinema = c(T, T, T, T, F, F, T, F)
Shopping = c(F, F, F, T, T, T, F, F)
df = data.frame(Age, Gender, Cinema, Shopping) #data frame of dating show data

这是日期框,有人能给我指出正确的方向吗?

首先,您需要将性别放在引号中,以便将其识别为字符串而不是变量:

Age = c(25, 23, 33, 28, 35, 31, 25, 29)
Gender = c("Male", "Male", "Female", "Female", "Male", "Female", "Female", "Female")
Cinema = c(T, T, T, T, F, F, T, F)
Shopping = c(F, F, F, T, T, T, F, F)
df = data.frame(Age, Gender, Cinema, Shopping) #data frame of dating show data
要查看性别=男性的所有行,可以使用以下命令

> df[df$Gender == 'Male',]

  Age Gender Cinema Shopping
1  25   Male   TRUE    FALSE
2  23   Male   TRUE    FALSE
5  35   Male  FALSE     TRUE

不太确定我是否明白。。。类似这样的
df[df$Gender=='Male',]
?您试过
dplyr
了吗?类似于
df%>%filter(Gender='Male')的东西应该可以。
你也可以使用df%>%filter(Gender='Male')。谢谢,你能解释一下为什么我需要在Gender专栏中使用引号吗?@F.Wotton你真的需要读一本书并开始使用R。这里有几本书,使用
c(Gender,Female,…)
将组合变量
男性
女性
。您希望将字符串“Male”和“Female”等组合在一起,因此需要将它们声明为这样。如果男性和女性是某种变量,您的代码就可以工作,但这不是您想要的。例如:
Male