Vad är filformatet R?
.r-filer (konventionellt skrivna som .R med stor bokstav) innehåller källkod för det statistiska programmeringsspråket R, skapat av Ross Ihaka och Robert Gentleman vid University of Auckland 1993. R är det dominerande språket för statistiska beräkningar, bioinformatik och datavetenskap inom akademisk och vetenskaplig forskning.
Ett .R-skript är vanlig UTF-8-text utan obligatorisk struktur - satser körs uppifrån och ned, eller definierar funktioner för senare laddning via source(). Typiska skript börjar med library()-anrop för att ladda paket, använder operatorn <- för tilldelning, tillämpar datamanipulering via tidyverse eller base-R, anpassar statistiska modeller med funktioner som lm() eller glm() och genererar visualiseringar genom ggplot2 eller base-grafik. Kommentarer inleds med #. Skript körs från kommandotolken med Rscript script.R eller interaktivt i RStudio. På Unix-system tillåter shebang #!/usr/bin/env Rscript direkt exekvering.
En praktisk olägenhet: på skiftlägeskänsliga filsystem (Linux, macOS) är .R och .r separata filer. GitHub Linguist identifierade historiskt felaktigt .r som REBOL snarare än R; REBOL-communityn har sedan dess gått över till filtilläggen .reb och .r3 för att minska tvetydighet. Relaterade format inkluderar R Markdown (.rmd) för litterat programmering och RData (.rdata) för serialiserade R-objekt.
Säkerhet & trygghet
RISK: MEDIUMR-skript är tolkad kod - att köra en opålitlig .R-fil kan utföra godtyckliga filsystemsåtgärder, göra nätverksförfrågningar och installera paket. Innan du kör ett skript från en okänd källa, öppna det i en textredigerare för att granska innehållet. R-kod kan anropa system() och shell() för att köra OS-kommandon. Hantera okända .R-filer som vilket annat körbart skript som helst.
Formatdetaljer
i ett nötskal- REBOL-skript - REBOL (Relative Expression Based Object Language) använde historiskt .r; communityn föredrar nu .reb / .r3 för att undvika förväxling med statistiska R-skript.
Program som öppnar R-filer
Tekniska detaljer
djup specifikation| Textkodning | UTF-8 (rekommenderas och är standard i modern R); ASCII eller systemets lokala inställningar accepteras av äldre versioner |
| Kommentarsyntax | Prefixet `#` för rad- och insticks-kommentarer; ingen syntax för blockkommentarer i base R |
| Tilldelningsoperator | `<-` (kanonisk R-stil); `=` är giltig men reserveras konventionellt för argumentöverföring i funktioner |
| Skiftlägeskänslighet | På skiftlägeskänsliga filsystem (Linux, macOS) är `.R` och `.r` distinkta; GitHub Linguist kan felaktigt klassificera `.r` som REBOL |
| Exekveringsmetoder | `Rscript script.R` från kommandotolken; `source("script.R")` i en R-session; interaktiv REPL i RStudio |
| Shebang-stöd | `#!/usr/bin/env Rscript` på första raden möjliggör direkt Unix-exekvering när filen är markerad som körbar |
| Paketsystem | `library(pkgname)` importerar paket; över 20 000 paket på CRAN; Bioconductor för arbetsflöden inom genomik |
| Ingen obligatorisk struktur | Ingen obligatorisk `main()`-funktion eller moduldeklaration krävs; exekvering sker uppifrån och ned |
| Typisk filstorlek | Under 100 KB för de flesta analytiska skript; kan nå flera MB om stora datavektorer är inbäddade som literaler |
| Dominerande IDE | RStudio (Posit) - erbjuder syntaxmarkering, integrerad REPL, diagramvisare och pakethantering för `.R`-filer |
| Ekosystemroller | Statistisk modellering (`lm()`, `glm()`), databearbetning (dplyr, tidyr), visualisering (`ggplot2`), bioinformatik (Bioconductor) |
| Praxis för reproducerbarhet | `set.seed()` för stokastisk reproducerbarhet; `sessionInfo()` för att registrera körtidsmiljön för publicerade analyser |
| Släppt | 1993 (R language); .R extension used since R's public availability (~1995) |
| Senaste version | R 4.4.x (2024); language and .R format unchanged in structure |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.r-project.org |
R-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om R-filer.