Ich habe eine Tab-getrennte Textdatei, die ich versuche, in R mit der read.table
Funktion zu laden. Die ersten Zeilen des Skripts sehen so aus:read.table Funktion und stdin
#!/usr/bin/env Rscript
args <- commandArgs(trailingOnly=TRUE)
data <- read.table(args[1], header=TRUE, sep="\t", quote="")
# process the data
Dies funktioniert. Ich hatte ursprünglich versucht, R zu bekommen, um die Daten von der Standardeingabe zu lesen, war aber nicht erfolgreich. Mein erster Ansatz ...
#!/usr/bin/env Rscript
data <- read.table(stdin(), header=TRUE, sep="\t", quote="")
# process the data
... schien überhaupt nicht zu funktionieren. Mein zweiter Ansatz ...
#!/usr/bin/env Rscript
data <- read.table("/dev/stdin", header=TRUE, sep="\t", quote="")
# process the data
... die Datendatei lesen, aber (aus irgendeinem Grund Ich verstehe nicht) die ersten 20 oder so Linien verstümmelt bekommen, was ein großes Problem ist (vor allem, da diese Leitungen enthält die Kopfinformation). Gibt es eine Möglichkeit, read.table
aus dem Standard-Eingang zu lesen? Fehle ich etwas völlig Offensichtliches?
Brilliant. Datei ("stdin") anstelle von stdin() oder "/ dev/stdin" hat den Trick gemacht. –