我试图在我的DF(年度DatatMeanpre(中两次出现的行依赖于日期和唯一ID列。这是我的DF的样子。
ID DATE TYPE VALUE COL2 NA. NA.1 NA.2 UNIQUEID
6 ASN00015643 20170101 TMAX 81.32 a <NA> 330
7 ASN00015643 20170101 TMIN 71.24 a <NA> 330
9 ASN00085296 20170101 TMAX 71.06 a <NA> 733
10 ASN00085296 20170101 TMIN 54.86 a <NA> 733
13 ASN00085280 20170101 TMIN 60.08 a <NA> 730
15 ASN00040209 20170101 TMAX 84.74 a <NA> 492
16 ASN00040209 20170101 TMIN 77.00 a <NA> 492
40 CA005030984 20170101 TMAX 12.38 C <NA> 1623
41 CA005030984 20170101 TMIN -2.56 C <NA> 1623
请注意,每个站点的每个日期都有一个TMAX和TMIN值(ID或唯一的(。我试图确保我只能在每个日期都有TMAX和TMIN的位置。例如,可能有一天,一个站只记录了TMAX而不是TMIN。我创建了一个数字唯一的帮助来帮助这一点。
我尝试过的代码行是
YearlyDataTMEAN <- subset(YearlyDataTMEANPre, UNIQUEID & DATE == 2)
但是,这似乎使我零行。我一定缺少明显的东西,但我是R的新手。我希望输出看起来像
ID DATE TYPE VALUE COL2 NA. NA.1 NA.2 UNIQUEID
6 ASN00015643 20170101 TMAX 81.32 a <NA> 330
7 ASN00015643 20170101 TMIN 71.24 a <NA> 330
9 ASN00085296 20170101 TMAX 71.06 a <NA> 733
10 ASN00085296 20170101 TMIN 54.86 a <NA> 733
15 ASN00040209 20170101 TMAX 84.74 a <NA> 492
16 ASN00040209 20170101 TMIN 77.00 a <NA> 492
40 CA005030984 20170101 TMAX 12.38 C <NA> 1623
41 CA005030984 20170101 TMIN -2.56 C <NA> 1623
请注意,第一个表中的第13行在输出中消失了。
谢谢!
您可以使用duplicated
功能并获取想要的东西:
YearlyDataTMEANPre[duplicated(YearlyDataTMEANPre[,c('UNIQUEID', 'DATE')]),]
我实际上使用子集和表弄清楚了。奇迹确实发生了。
subset(YearlyDataTMEANPre, table(YearlyDataTMEANPre$UNIQUEID, YearlyDataTMEANPre$DATE) == 2)