2015-11-05 31 views
-1

a < -c(「房子」,「房子」,「辦公室」,「房子」,「房子」,「辦公室」,「公司」, 「公司」)R如何在數據框中獲得相同類型的因子值

我想回到

房子4 辦公室2 公司2

還有一我想只返回,如果它具有大於2 occurancy 像

房子4

這樣只有房子將返回

回答

0

您應該能夠使用:

data_count <- table(dataset_name_here)

這會給你的元素及其數量的列表。

+0

我必須下載軟件包嗎? – Joe

+0

不是基地R – Badger

+0

它說沒有功能data_count – Joe

0

我發現很難與你的示例數據工作,但假設你有制定出與此類似:

df <- data.frame(dates = c(9565,9567,9569,9571,9573,9577), 
       type = c("",NA,"office","condo","office","house"), 
       sfd = c("A","B","A","A","B","B")) 

這給

> df 
    dates type sfd 
1 9565   A 
2 9567 <NA> B 
3 9569 office A 
4 9571 condo A 
5 9573 office B 
6 9577 house B 

然後count建築物類型或無論你希望哪一列。你也可以指望多列,順序無關緊要。注: type這裏是一個列名,而不是關鍵字參數。

count(df, type) 
count(df, type, sfd) 
count(df, sfd, type) 

type sfd  n 
    (fctr) (fctr) (int) 
1    A  1 
2 condo  A  1 
3 house  B  1 
4 office  A  1 
5 office  B  1 
6  NA  B  1 

編輯:OK,現在你已經通過了數據,數據類型,等等。但是,一個解決方案更改爲改變這個問題有很多你現在問由

a <-data.frame(c("house","house","office","house","house","office","company","company")) 
freqdf <- data.frame(table(a)) 

company house office 
     2  4  2 
給出

要在隨後子集DF,只有那些超過價值,因此

freqdf[apply(freqdf, MARGIN = 1, function(x) all(x>3)), ] 

產生

a Freq 

2家4

因爲只有第二個元素,house有一個值> 3.

+0

是的,這正是我想要的,但我可以問你一個問題嗎? – Joe

+0

我想知道可能會有更多的變數比公寓房子辦公室,但我不能檢查其餘的.. – Joe

+0

,因爲有這麼多的數據 – Joe

相關問題