ð§Rããã±ãŒãžéçºæã«å©çšããããŒã¿ã®çš®é¡ãšãã®äœ¿ãåã
æšæ¥ãRã³ãã¥ããã£ã®è³ªååºå Žå Œãæ°æ¥œãªäº€æµã®å Žã§ããr-wakalangã§ãããªè³ªåãå¯ããããã
(æèš³) ããã±ãŒãžã®éçºæã«ãªããžã§ã¯ããä¿åããŠãããŠããã®ãªããžã§ã¯ããããã±ãŒãžå ã®é¢æ°ã§å©çšããã
ãããšæãã€ãåçãšããŠãdata/
ãã£ã¬ã¯ããªã«.rda
ãã¡ã€ã«ãä¿åããã°ããã®ã§ã¯ïŒãšæã£ããã©ããã¯å³å¯ã«ã¯æ£ãããªãããšããã®ããdata
ãã£ã¬ã¯ããªã«ä¿åããã®ã¯ããã±ãŒãžã®åŒã³åºããšãšãã«åç
§å¯èœãªãªããžã§ã¯ãã«ãªã£ãŠããŸãïŒåŸè¿°ïŒã
ãµãŒãããšããããã§æ¹ããŠHadleyã®"R Packages"ãèŠçŽããŠã¿ãããã¡ããšãã説æããã£ããå®å šãªå匷äžè¶³ã ã£ãããšããããã§ãã®èŸºã®æ å ±ãæŽçããŠãããããä»åã®è©±ã¯ããã®ã»ãšãã©ã Data · R packagesã«æžãããŠãããã®ã ããã詳ããç¥ãããæ¹ã¯"R Packages"ãèªããšè¯ããã€ã³ã¿ãŒãããã§å šéšé²èŠ§ã§ãããGitHubãããªããžããªãã¯ããŒã³ããŠããŠãpandocã§PDFãçæããŠãè¯ããã¡ãªã¿ã«ã"R Packages"ã¯æ¥æ¬èªèš³ãåºãããããç§ã¯æã£ãŠããªãããã¡ããšè§£èª¬ãããŠãããšæãã®ã§ããã¡ããèŠããšããæ段ãããã
Rããã±ãŒãžéçºå ¥é âãã¹ããææžåãã³ãŒãå ±æã®ææ³ãåŠã¶
- äœè : Hadley Wickham,ç¬æžå±±é 人,ç³äºåŒçŸå,å€ç æŠ
- åºç瀟/ã¡ãŒã«ãŒ: ãªã©ã€ãªãŒãžã£ãã³
- çºå£²æ¥: 2016/02/05
- ã¡ãã£ã¢: 倧åæ¬
- ãã®ååãå«ãããã°ãèŠã
ð° Rããã±ãŒãžã§äœ¿ãããããŒã¿ã®çš®é¡
ããŠãRããã±ãŒãžã§äœ¿çšããããŒã¿ã®çš®é¡ãšããŠãäž»ã«æ¬¡ã®ïŒã€ã®ãã¿ãŒã³ãèããããïŒãã®ã»ãã«ã¯testãvignettesçšãšãïŒã
- Exported data: ããã±ãŒãžã®å©çšè ã䜿çšå¯èœãšããããŒã¿
- Internal data: ä¿åããŠããããããå©çšè ã«ã¯è§ŠããããããªãããŒã¿ããªããžã§ã¯ã
- Raw data: ãã®ä»ã®ããã¹ãããŒã¿ããRãšã¯é¢ä¿ã®ãªããã€ããªãã¡ã€ã«
ä»åã®å Žåã§ã¯ãé¢æ°å ã§äœ¿çšãããªããžã§ã¯ããšããããšããã®ã§ïŒã«è©²åœãããã§ã¯ãããã®ãã¿ãŒã³ããšã«ã©ã®ããã«å¯ŸåŠãããè¯ãããšããã®ã次ã«èŠãŠããã
Exported data: å€éšã§å©çšãããããŒã¿
ïŒã®ãã¿ãŒã³ãããã±ãŒãžãå©çšãããŠãŒã¶ãŒãå©çšã§ããããã«æäŸããããŒã¿ã¯data/
ãã©ã«ãã«çœ®ããããdata()
é¢æ°ã§åŒã³åºãããããŒã¿ã¯ããã«åœãããdataãã©ã«ãã«ã¯.rdata
ãããã¯.rda
ãã¡ã€ã«ïŒdata()
é¢æ°ã§åŒã³åºãããšãæ³å®ããïŒã眮ãããããã®ãã¡ã€ã«ã«ä¿åãããRãªããžã§ã¯ãã¯ããã±ãŒãžã®åŒã³åºããšãšãã«å©çšå¯èœã«ãªãããããã¯ãdata()
é¢æ°ã®packageåŒæ°ã§æ瀺çã«åŒã³åºãããšã§å©çšã§ãããåºæ¬çã«ã¯äžã€ã®ãã¡ã€ã«ã«äžã€ã®ãªããžã§ã¯ããä¿åããã
å®äŸãããããšãããªæãã
nasa # Error: object 'nasa' not found library(dplyr) nasa # Source: local array [41,472 x 4] D: lat # [dbl, 24] D: long [dbl, 24] D: month # [int, 12] D: year [int, 6] M: cloudhigh # [dbl[24,24,12,6]] M: cloudlow # [dbl[24,24,12,6]] M: cloudmid # [dbl[24,24,12,6]] M: ozone # [dbl[24,24,12,6]] M: pressure # [dbl[24,24,12,6]] M: surftemp # [dbl[24,24,12,6]] M: temperature # [dbl[24,24,12,6]]
ãããã¯ã
# æ°ããã»ãã·ã§ã³ãç«ã¡äžãã nasa # Error: object 'nasa' not found data("nasa", package = "dplyr") nasa # Source: local array [41,472 x 4] D: lat # [dbl, 24] D: long [dbl, 24] D: month # [int, 12] D: year [int, 6] M: cloudhigh # [dbl[24,24,12,6]] M: cloudlow # [dbl[24,24,12,6]] M: cloudmid # [dbl[24,24,12,6]] M: ozone # [dbl[24,24,12,6]] M: pressure # [dbl[24,24,12,6]] M: surftemp # [dbl[24,24,12,6]] M: temperature # [dbl[24,24,12,6]]
ã§åŒã³åºããŠãè¯ããããã¯dplyr/data/nasa.rda
ãšãããã€ããªãã¡ã€ã«ãåŒã³åºããŠããããšã«ãªãã
ããããããŒã¿ãäœãã«ã¯ãç®çã®ãªããžã§ã¯ããçæããŠãsave()
é¢æ°ãããã¯{devtools}
ããã±ãŒãžã®use_data()
é¢æ°ã§ä¿åããããªãuse_data()
ã§ã¯ã.rda
ãã¡ã€ã«ãšããŠdataãã£ã¬ã¯ããªäžã«èªåçã«ä¿åãããã
# å©çšããããªããžã§ã¯ããäœã demo_df <- iris # save(demo_df, file = # 'data/demo_df.rda') devtools::use_data(demo_df) # Saving demo_df as demo_df.rda to # /Users/uri/mypkg/data
ããã«ä¿åããdemo_df.rda
ãšãããã¡ã€ã«ã®å
容ã¯ããã«ãã»ã€ã³ã¹ããŒã«ããããã±ãŒãžã§äžã®äŸã®ããã«data()
é¢æ°ã䜿ã£ãããããã±ãŒãžèªã¿èŸŒã¿åŸã«ãŠãŒã¶ãŒãå©çšå¯èœã«ãªãïŒdata("demo_df", package = "mypkg")
ïŒã
现ãããšããã ãšãDESCRIPTIONã®LazyDataãã£ãŒã«ãã§FALSEã«ãããšããã±ãŒãžãèªã¿èŸŒãã ã ãã§ã¯dataãã£ã¬ã¯ããªã«ä¿åãããªããžã§ã¯ããå©çšã§ããªããªãïŒãªã®ã§Hadleyã¯TRUEã«ããšããã£ãã£ãŠèšã£ãŠãïŒæèš³ïŒïŒã
ãŸãããããã®ããŒã¿ã¯exportãããã®ã§ããã¡ããšããã¥ã¡ã³ããæžãå¿ èŠãããã
Internal data: å éšã§å©çšãããããŒã¿ïŒãªããžã§ã¯ãïŒ
ä»åºŠã¯ããã±ãŒãžå©çšè ã«ã¯è§ŠããŠã»ãããªãããŒã¿ãã€ãŸãéçºæãããã±ãŒãžã§çšããé¢æ°ã®åŠçãªã©ã§ã®ã¿äœ¿ãããããŒã¿ïŒãªããžã§ã¯ãïŒã®å Žåã§ãããä»åºŠã¯è€æ°ã®ãªããžã§ã¯ãã§ãã£ãŠãæ§ããªãã
ããããããŒã¿ã¯é¢æ°ãèšè¿°ããRã³ãŒããä¿åããRãã£ã¬ã¯ããªãšåãéå±€ã«"sysdata.rda"ãšããå称ã§ä¿åããã
絶察ã«sysdata.rdaãšããå称ã§ä¿åãããã絶察ã ãïŒ... 誀ã£ããã¡ã€ã«åã§ä¿åããããšãé²ãããã«å
ã®ãã¿ãŒã³ã§ã䜿çšããdevtools::use_data()
é¢æ°ã®internalåŒæ°ã§TRUEãäžãããšãèªåçã«R/sysdata.rdaã«ä¿åãããã
# é¢æ°å ã§å©çšããããªããžã§ã¯ããäœã£ãŠãã a <- 1:3 b <- list(a = 1:4, b = letters[1:3]) demo_df <- iris # Internal dataã«ããå Žåã¯åŒæ°internal = # TRUEãšãã devtools::use_data(a, b, demo_df, internal = TRUE) # Saving a, b, demo_df as sysdata.rda as # sysdata.rda to /Users/uri/mypkg/R
ããã§ä¿åãããªããžã§ã¯ãã¯ããã±ãŒãžå
ã®é¢æ°ã§åç
§ã§ãããªããžã§ã¯ããšãªãããŠãŒã¶ãŒã¯å©çšã§ããªãïŒmypkg::demo_df
ãªã©ã®ããã«åå空éãæå®ããã°åŒã³åºããïŒããŸãããŠãŒã¶ãŒãå©çšããããšãæ³å®ããŠããªãã®ã§ãExported dataãšéã£ãŠããã¥ã¡ã³ããçšæããå¿
èŠã¯ãªãã
data-rawãã£ã¬ã¯ããªã掻çšãã
ããŠæåŸã®ãã¿ãŒã³ã説æããåã«data-rawãã£ã¬ã¯ããªã掻çšãããšè¯ããããšãã話ãããŠããã
ãããŸã§æ±ã£ãŠãã.rda
ãšãããã¡ã€ã«ã¯ãã€ããªãã¡ã€ã«ã§ãã£ãŠãããŒãžã§ã³ç®¡çã·ã¹ãã ã䜿ã£ãŠããŠããã®æ§é ãå€åãææ¡ãã«ããããŸããããŒã¿ã®å€ãæŽæ°ãããéã«ã¯æ°ãã«ãªããžã§ã¯ããäœãçŽãå¿
èŠãããããã®ãããªããžã§ã¯ããçæããéçšãèšé²ããŠãããããããã§data-rawãšãããã£ã¬ã¯ããªãæ°ãã«ããããããã«ãªããžã§ã¯ãã®çæããä¿åãŸã§ã®éçšãèšé²ããŠãããšåçŸæ§ãåäžããã®ã§è¯ããšãã話ã
devtools::use_data_raw()
ã§ãã£ã¬ã¯ããªãäœã£ãŠãããã®ã§ãããšã¯ãªããžã§ã¯ããäœããŸã§ã®å·¥çšãRãã¡ã€ã«ãšããŠdata-rawãã£ã¬ã¯ããªã«ä¿åããŠããã
devtools::use_data_raw() # Creating data-raw/ Next: * Add data # creation scripts in data-raw * Use # devtools::use_data() to add data to # package
Raw data: ãã®ä»ã®ããã¹ãããŒã¿ããRãšã¯é¢ä¿ã®ãªããã€ããªãã¡ã€ã«ãªã©
Rã¯å®ã«ããŸããŸãªçš®é¡ã®ããŒã¿ã®èªã¿èŸŒã¿ãå¯èœãšãªã£ãŠããããããã£ãå°çšããŒã¿ã®èªã¿èŸŒã¿é¢æ°ã®å©çšäŸãšããŠãããã±ãŒãžéçºè
ããã¢çšã®ãã¡ã€ã«ãæ·»ä»ããŠããããããšããããšãããããããããã¡ã€ã«ã¯inst/
ãã£ã¬ã¯ããªã«ä¿åããŠããããã®ãã£ã¬ã¯ããªã«ä¿åããããã¡ã€ã«ã¯ãããã±ãŒãžãã€ã³ã¹ããŒã«ããããšãinstãã£ã¬ã¯ããªã®æ§é ãåæ ããŠããã±ãŒãžã€ã³ã¹ããŒã«å
ã®ãã£ã¬ã¯ããªã®çŽäžã«çœ®ãããããšã«ãªãã
instãã£ã¬ã¯ããªã«ä¿åãããã€ã³ã¹ããŒã«ãããããã±ãŒãžå ã®ãã¡ã€ã«ã¯æ¬¡ã®ããã«ããŠåç §ããããšãã§ããã
system.file("test.csv", package = "mypkg") # [1] # '/Library/Frameworks/R.framework/Versions/3.2/Resources/library/mypkg/test.csv'
ããããæ©æ§ãå©çšããäŸãšããŠãããã€ãã®ããã±ãŒãžãäžããŠãã
ðµ ææ
äœã¯ãšããããå®éã®ããã±ãŒãžã®æ§é ãèŠãŠã¿ãã®ãè¯ããšæããã€ã³ã¹ããŒã«ããããã±ãŒãžã§ã¯ãã£ã¬ã¯ããªæ§é ãç°ãªãå Žåãããã®ã§ãGitHubãªããã«ãããã®ãèŠãŠã¿ãããšãå§ãããã·ãªãã¯ãã¹ã¿ãŒã®éã¯é ãã