a< -c(“house”,“house”,“office”,“house”,“house”,“office”,“company”,“company”)
我想返回
房子4 办公室2 公司2还有一个,我想只有在它超过2次时才会返回 喜欢
house 4
这样只返回房屋
答案 0 :(得分:0)
你应该可以使用:
data_count <- table(dataset_name_here)
这将为您提供元素及其计数的列表。
答案 1 :(得分: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
编辑:好的,您现在已经通过更改数据,数据类型等来改变了很多问题。但是,您现在要求的解决方案由
提供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 house 4
仅作为第二个元素,house
的值为&gt; 3。