Hvad er R-filformatet?
.r-filer (konventionelt skrevet som .R med stort bogstav) indeholder kildekode til det statistiske programmeringssprog R, skabt af Ross Ihaka og Robert Gentleman ved University of Auckland i 1993. R er det dominerende sprog til statistisk beregning, bioinformatik og datavidenskab i akademisk og videnskabelig forskning.
Et .R-script er almindelig UTF-8-tekst uden obligatorisk struktur - sætninger udføres fra top til bund, eller definerer funktioner til senere indlæsning via source(). Typiske scripts begynder med library()-kald for at indlæse pakker, bruger <--operatoren til tildeling, anvender tidyverse eller base-R datamanipulation, tilpasser statistiske modeller med funktioner som lm() eller glm() og genererer visualiseringer via ggplot2 eller base graphics. Kommentarer indledes med #. Scripts køres fra kommandolinjen med Rscript script.R eller interaktivt inde i RStudio. På Unix-systemer tillader shebang #!/usr/bin/env Rscript direkte eksekvering.
En praktisk gene: på filsystemer, der skelner mellem store og små bogstaver (Linux, macOS), er .R og .r forskellige filer. GitHub Linguist har historisk set fejlidentificeret .r som REBOL i stedet for R; REBOL-fællesskabet er siden skiftet til filendelserne .reb og .r3 for at mindske tvetydighed. Relaterede formater inkluderer R Markdown (.rmd) til litterat programmering og RData (.rdata) til serialiserede R-objekter.
Sikkerhed og tryghed
RISIKO: MEDIUMR-scripts er fortolket kode - eksekvering af en upålidelig .R-fil kan udføre vilkårlige filsystemoperationer, foretage netværksanmodninger og installere pakker. Før du kører et script fra en ukendt kilde, bør du åbne det i en teksteditor for at gennemse indholdet. R-kode kan kalde system() og shell() for at udføre OS-kommandoer. Behandl ukendte .R-filer som ethvert andet eksekverbart script.
Formatdetaljer
kort fortalt- REBOL Script - REBOL (Relative Expression Based Object Language) brugte historisk .r; fællesskabet foretrækker nu .reb / .r3 for at undgå forveksling med statistiske R-scripts.
Programmer der åbner R-filer
Tekniske detaljer
dyb specifikation| Tekstkodning | UTF-8 (anbefalet og standard i moderne R); ASCII eller system-locale accepteres af ældre versioner |
| Kommentarsyntaks | `#` præfiks for linje- og inline-kommentarer; ingen blok-kommentarsyntaks i base R |
| Tildelingsoperator | `<-` (kanonisk R-stil); `=` er gyldig, men konventionelt reserveret til overførsel af funktionsargumenter |
| Skelnen mellem store og små bogstaver | På filsystemer med case-sensitivity (Linux, macOS) er `.R` og `.r` forskellige; GitHub Linguist kan fejlagtigt klassificere `.r` som REBOL |
| Eksekveringsmetoder | `Rscript script.R` fra kommandolinjen; `source("script.R")` i en R-session; interaktiv REPL i RStudio |
| Shebang-understøttelse | `#!/usr/bin/env Rscript` på første linje muliggør direkte Unix-eksekvering, når filen er markeret som eksekverbar |
| Pakkesystem | `library(pkgname)` importerer pakker; over 20.000 pakker på CRAN; Bioconductor til genomforskning |
| Ingen obligatorisk struktur | Ingen påkrævet `main()`-funktion eller moduldeklaration; eksekvering sker fra top til bund |
| Typisk filstørrelse | Under 100 KB for de fleste analytiske scripts; kan nå flere MB, hvis store datavektorer er indlejret som literaler |
| Dominerende IDE | RStudio (Posit) - tilbyder syntaksfremhævning, integreret REPL, graf-fremviser og pakkehåndtering for `.R`-filer |
| Økosystem-roller | Statistisk modellering (`lm()`, `glm()`), databehandling (dplyr, tidyr), visualisering (`ggplot2`), bioinformatik (Bioconductor) |
| Praksis for reproducerbarhed | `set.seed()` for stokastisk reproducerbarhed; `sessionInfo()` for at registrere runtime-miljøet for publicerede analyser |
| Udgivet | 1993 (R language); .R extension used since R's public availability (~1995) |
| Seneste version | R 4.4.x (2024); language and .R format unchanged in structure |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.r-project.org |
R-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om R-filer.