R(计数唯一的出现次数)
问题描述:
我是R新手,想要做以下工作。R(计数唯一的出现次数)
我有这样的文件1的数据 -
Cookie Bannerid
b 1
c 2
d 3
e 4
b 2
c 3
f Blank
g Blank
h 5
数据文件2映射这些bannerid到bannersize(像) -
BannerID BannerSize
1 300X250
2 728X90
3 728X90
4 300X250
5 300X250
我想输出是一样
Banner Size No. of cookies that show up only in that banner size
300X250 1
728X90 1
任何帮助,将不胜感激。 谢谢!
答
我还不太确定我是否理解这一点。但是,这是使用data.table
的尝试。
require(data.table)
# assuming your data.frames are df1 and df2
dt1 <- data.table(df1)
dt2 <- data.table(df2, key="BannerID")
dt3 <- dt1[, N := .N, by="Cookies"][N == 1]
setkey(dt3, "Bannerid")
o <- na.omit(dt3[dt2])
> o
# Bannerid Cookie BannerSize
# 1: 3 d 728X90
# 2: 4 e 300X250
# 3: 5 h 300X250
o[, .N, by=BannerSize]
# BannerSize N
# 1: 728X90 1
# 2: 300X250 2
这是你期待的?
+0
是的,Arun,300X250必须是2。我的错。在输入示例时错过了。我将使用的实际文件有大约20万个曲奇,所以在急速写下这个例子。 – AhmerK 2013-02-14 07:29:04
'728X90'的'1'如何?你能解释一下吗? – Arun 2013-02-13 11:28:28
嗨Arun,D只存在于bannerid = 3,映射到728X90。 – AhmerK 2013-02-13 11:30:33
@AhmerK,那么对于'300X250',它必须是2 ='e'和'h' ..? – Arun 2013-02-13 11:39:43