Apply Functions
tapply
The documentation definition for tapply
is a bit more specific than the others, where the arguments are now (X, INDEX, FUN)
, with X
being an object where the split
function applies, INDEX
is a factor by which X
is grouped, and FUN
is function as before.
To simplify this definition, we can say tapply
applies FUN
to X
when X
is grouped by INDEX
.
Examples
Using the 1990 airport data, find the average arrival delay for flights arriving to each airport.
Click to see solution
# read in data
library(data.table)
myDF <- fread("/anvil/projects/tdm/data/flights/subset/1990.csv")
tapply(myDF$ArrDelay, myDF$Dest, mean, na.rm=TRUE)
ABE 4.77494000685636 ABQ 7.7720134335519 ACY 5.58807588075881 AGS 8.35838529701346 ALB 7.51126007381186 AMA 8.567987065481 ANC 11.3615362811791 ATL 8.59703498508533 ATW -11.2530120481928 AUS 6.21888427513992 AVL 5.56191744340879 AVP 7.23910171730515 AZO 3.33425245098039 BDL 7.50158685871726 BET 11.8017543859649 BFL 5.70559903672486 BGM 4.60901883052527 BGR 11.6194061062317 BHM 5.61821563433467 BIL 4.30690826727067 BIS 4.32569169960474 BLI 6.57166301969365 BNA 2.99054059116622 BOI 7.8021440958537 BOS 8.68138952412066 BTM 6.11143270622287 BTR 7.72758457534895 BTV 7.1847366117029 BUF 7.62385865053955 BUR 2.97791212264896 BWI 6.1178010854142 BZN 6.00830521671425 CAE 8.454398708636 CAK 5.69348127600555 CCR 1.0583596214511 CDV 8.37648809523809 CHA 4.97324001646768 CHO 1.20289855072464 CHS 6.19924840285607 CID 7.01145186335404 CLE 6.61321718321368 CLT 4.67219295572293 CMH 6.80954905153156 CMI 4.13047619047619 COS 6.41270635317659 CPR 2.16542750929368 CRP 8.06586538461539 CRW 4.07336780866193 CSG 9.57680872150644 CVG 6.96339948396139 DAB 8.97099236641221 DAL 6.65780198654277 DAY 4.34913098526703 DCA 4.99561621174524 DEN 8.17649503174869 DET 7.00324074074074 DFW 7.89527548306231 DLH 2.09291244788565 DRO 8.51226993865031 DSM 7.85462012320329 DTW 4.49481231688689 EFD 1.71490593342981 EGE 19.7676056338028 ELM 5.06831882116544 ELP 7.59123697568795 ERI 10.3340647284696 EUG 7.31041923551171 EVV 1.03066037735849 EWR 10.9039220458615 EYW 2.35234412759787 FAI 13.7152378067252 FAR 6.48727687048994 FAT 6.10478535159255 FAY 4.62673130193906 FCA 9.3623395149786 FLG 4.60611510791367 FLL 7.29924057150212 FNT 7.08815165876777 FSD 5.74075330844927 FWA 5.07532262312352 GCN 5.23130300693909 GEG 7.73432392273403 GFK 5.15888615888616 GJT 6.40649819494585 GNV 6.88170563961486 GPT -2.19313725490196 GRB 2.87189942235814 GRR 6.03821780247636 GSO 5.93050173363247 GSP 5.2078535577207 GST 5.8433734939759 GTF 4.536172878171 GUC 12.8741935483871 GUM 6.95648994515539 HDN 12.9910554561717 HLN 5.77559912854031 HNL 8.48285796600403 HOU 7.46327180576008 HPN 7.09856850715746 HRL 6.3505170551011 HSV 5.29723702143477 HTS 0.164093767867353 IAD 3.77503405331777 IAH 7.52145911014401 ICT 5.33506746870428 IDA 5.31609498680739 ILM 2.90905688622754 IND 6.11051909071872 ISO 2.04705882352941 ISP 5.63258200476452 ITH 5.90425531914894 JAC 6.81378476420798 JAN 6.77225672877847 JAX 8.03287380699894 JFK 8.56741298292616 JNU 10.1031016657094 KOA 5.62354651162791 KTN 11.1808510638298 LAN 1.45423143350604 LAS 6.34067878021064 LAX 6.77925942712651 LBB 7.38479557069847 LEX 8.91636819484241 LFT 1.28228782287823 LGA 9.74154103691446 LGB 6.5527031349968 LIH 6.98290598290598 LIT 9.24171404798225 LNK 8.09978902953586 LSE 2.27272727272727 LYH 1.93421052631579 MAF 6.15070093457944 MBS 5.2624537432394 MCI 6.68386588116774 MCO 7.43624684439393 MDT 6.13469387755102 MDW 6.1485043251341 MEM 1.68064434055275 MFE 6.35710144927536 MFR 5.99726775956284 MGM 8.0270607826811 MHT 7.71730812514067 MIA 4.63792361554811 MKC NaN MKE 5.67506411847439 MLB 7.23610121168924 MLI 6.68748233964397 MLU 11.6878542510121 MOB 6.81279869448654 MOT 0.822210636079249 MRY 4.21257349615559 MSN 5.26094003241491 MSO 5.26537350392076 MSP 4.16160001569027 MSY 6.96222936666742 MYR 2.934493951018 OAJ 3.48700673724735 OAK 4.15983617898553 OGG 5.29461564510667 OKC 8.15177051413006 OMA 6.69852763697804 OME 9.19126819126819 ONT 6.90430555939131 ORD 7.27912239824301 ORF 5.77447365290829 ORH 5.24429530201342 OTZ 10.4608187134503 PBI 7.9410349881619 PDX 6.50698772886638 PHF 4.00297914597815 PHL 9.45196051685226 PHX 6.95228251756339 PIA 5.70398277717976 PIT 6.3972412263491 PMD -1.02239789196311 PNS 5.30102461429749 PSC 8.78491620111732 PSE 30.5333333333333 PSG 10.7404958677686 PSP 5.7313654353562 PUB 1.26564344746163 PVD 6.60158940397351 PWM 9.11445259102771 RAP 4.07061143984221 RDM 23.8839285714286 RDU 2.72454148763647 RIC 5.67026798647996 RNO 7.14427173287277 ROA 4.29575200918485 ROC 7.98166175024582 ROP 6.25462962962963 ROR 14.1186868686869 RST 5.78303603931562 RSW 7.92674545738533 SAN 7.58327716365597 SAT 6.97933655072946 SAV 6.68496042216359 SBA 5.75875758991126 SBN 3.15600814663951 SCC 14.6488095238095 SCK 0.287528868360277 SDF 6.25623993558776 SEA 9.44925986737434 SFO 8.62202837723557 SGF 7.44886711573791 SHV 8.42518496149781 SIT 10.0407854984894 SJC 3.95574368504371 SJU 5.78930733379761 SLC 6.36349125734601 SMF 6.56662611516626 SNA 5.36249911152179 SPN 5.70601675552171 SRQ 7.5969014084507 STL 4.88090698355182 STT 3.57343234323432 STX 4.18855350842807 SUN 22.8157894736842 SUX 6.71904960400167 SWF 10.1408128219805 SYR 6.82989781536293 TLH 3.85142118863049 TOL 7.04215373715905 TPA 6.70032489299159 TRI 3.4688013136289 TUL 8.02563113454203 TUS 9.0590984795573 TVC 6.96660117878193 TVL 1.272614622057 TYS 6.53830949889548 UCA 1.56891495601173 VPS 1.17145593869732 WRG 8.79440789473684 YAK 7.70957613814757 YAP 23.2932330827068 YUM 3.88336402701044