R如何在数据框中获得相同类型的因子值

问题描述:

a < -c(“房子”,“房子”,“办公室”,“房子”,“房子”,“办公室”,“公司”, “公司”)R如何在数据框中获得相同类型的因子值

我想回到

房子4 办公室2 公司2

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

房子4

这样只有房子将返回

您应该能够使用:

data_count <- table(dataset_name_here)

这会给你的元素及其数量的列表。

+0

我必须下载软件包吗? – Joe

+0

不是基地R – Badger

+0

它说没有功能data_count – Joe

我发现很难与你的示例数据工作,但假设你有制定出与此类似:

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