我正在使用數據集LearnBayes
。對於那些想看到實際數據的人:通過列中的值過濾數據幀
install.packages('LearnBayes')
我想根據列中的值過濾出行。例如,如果列值是「水」,那麼我想要那一行。如果列值是「牛奶」,那麼我不想要它。最終,我試圖過濾掉所有飲料專欄是「水」的個人。
我正在使用數據集LearnBayes
。對於那些想看到實際數據的人:通過列中的值過濾數據幀
install.packages('LearnBayes')
我想根據列中的值過濾出行。例如,如果列值是「水」,那麼我想要那一行。如果列值是「牛奶」,那麼我不想要它。最終,我試圖過濾掉所有飲料專欄是「水」的個人。
試試這個:
subset(studentdata, Drink=='water')
應該這樣做。
謝謝!我嘗試了一些變化,但是一定是標點符號或者這樣的傻事。我很感激幫助。 – user722224
子集命令不是必需的。只需使用數據幀索引
studentdata[studentdata$Drink == 'water',]
從?subset
閱讀警告這是旨在用於交互的便捷功能。對於 編程,最好使用標準子集函數,如 '[',特別是參數 '子集'的非標準評估可能會產生意想不到的後果。
謝謝你,男人! –
謝謝@adamleerich。出於好奇,逗號背後的理由是什麼? – ThinkBonobo
'[]'語法以正常的方式索引到二維數據框中,矩陣在數學:行和列中被索引,用逗號分隔。在這種情況下,我們傳遞了一個行索引向量('studentData $ Drink =='water''挑選出我們感興趣的行),但是由於我們不想限制我們獲得那些列行(我們希望所有這些行),我們將索引對的列部分留空(所以逗號後面沒有任何內容)。這是句法糖,以避免必須給出所有列索引的向量。 – Will
想我會用dplyr
解決方案
library(dplyr)
filter(studentdata, Drink == "water")
或者用管道'studentdata%>%filter(Drink ==「water」)' –
嘗試閱讀'更新此? '['',然後閱讀'?subset'。 – joran
感謝您的指點。絕對方便的建議,並期待在未來使用它。 – user722224
我建議你閱讀很好的R手冊:http://cran.r-project.org/doc/manuals/R-intro.html – Andrie