2017-10-16 54 views
-1

我是R studio的新手,在第2年爲數學模塊學習它。 我已經設置了一個問題「運行命令以顯示參賽者是男性的所有行」 。我試過使用子集函數和$,但我似乎無法弄清楚。在數據框中選擇行

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 

這是日期幀,任何人都可以指向正確的方向嗎?

+4

不太確定我關注......類似這樣的'df [df $ Gender =='Male',]'? – Sotos

+0

你嘗試過'dplyr'嗎?像'df%>%filter(Gender =='Male')'應該這樣做。 – Aramis7d

+0

你也可以使用df%>%filter(Gender =='Male') – Alex

回答

0

首先,你需要把性別問題納入引號,因此被認爲是一個字符串,而不是變量:

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 
+0

謝謝,你能解釋爲什麼我需要使用性別列的引號嗎? –

+0

@ F.Wotton你真的需要閱讀一本書並開始使用R.這裏有幾本書,[書1](http://www.burns-stat.com/pages/Tutor/R_inferno.pdf) ,和[書2](http://franknarf1.github.io/r-tutorial/_book/index.html#introduction) – Sotos

+0

使用'c(男,女,...)'結合變量'男'和「女性」。你想要結合「男性」和「女性」等字符串,所以你需要聲明它們。 如果男性和女性是某種變量,那麼你的代碼就可以工作,但這不是你想要的。例如: '男< - 2'和 '女< - 3'使用 '> C(男,女,女,女,男,女,女,女)'將導致 '[1] 2 2 3 3 2 3 3 3' - 關於R中字符串的信息:https://www.tutorialspoint.com/r/r_strings.htm - 通用教程:http://www.statmethods。淨/ R-教程/ index.html中 – brettljausn