So erhalten Sie die R-StandardausgabeWenn ich R-Code über JSL sende, wird die Standardausgabe der R-Konsole (stdout) im JMP-Protokoll angezeigt.Gibt es eine Möglichkeit, diese Informationen in einer Textzeichenfolge zu erfassen?Ich weiß, dass ich die Standardausgabe von R in eine Datei umleiten kann (mit der Funktion sink ()) und dann den Dateiinhalt in einer JMP-Variablen mit etwas JSL abrufen kann, aber ich möchte lieber keinen solchen Zwischenschritt verwenden.
Beispiel;
names default to here(1);
R Init();
dt=open("$SAMPLE_DATA/Cars.jmp");
R Send(dt);
R Submit(
"
summary(lm(formula=Chest.decel ~ Wt, data=dt))
"
);
RTerm();Diese Ausgabe wird in der Protokolldatei angezeigt
Call:
lm(formula = Chest.decel ~ Wt, data = dt)
Residuals:
Min 1Q Median 3Q Max
-17.931 -6.650 -1.482 5.593 44.232
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.853e+01 2.440e+00 15.792 < 2e-16 ***
Wt 3.354e-03 8.135e-04 4.123 4.7e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.367 on 339 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.04776, Adjusted R-squared: 0.04495
F-statistic: 17 on 1 and 339 DF, p-value: 4.703e-05Ich möchte in der Lage sein, die Ausgabe als Textzeichenfolge zu erhalten und diese in ein Textfeld in einem Berichtsfenster einzufügen.
Betreff: So erhalten Sie die R-StandardausgabeProtokollaufnahme() darf machen was du willst.
Names Default To Here(1);
R Init();
dt = Open("$SAMPLE_DATA/Cars.jmp");
R Send(dt);
R_stdout = Log Capture(R Submit("
summary(lm(formula=Chest.decel ~ Wt, data=dt))
"));
R Term();
New Window("example", Text Box(R_stdout));Betreff: So erhalten Sie die R-StandardausgabeDanke für den Vorschlag.Ich weiß, wenn ich die R-Ergebnisse in ein R-Datenobjekt einfügen kann, kann ich R Get() verwenden, um die Ergebnisse abzurufen.Es wäre jedoch viel einfacher, die stdout-Ergebnisse nur als Textzeichenfolge zu erhalten, zumindest für meine Zwecke.
@uday_guntupalli schrieb:
@MathStatChem ,
Versuche dies:
R Init();
dt=open("$SAMPLE_DATA/Cars.jmp");
R Send(dt);
R Submit(
"
model = lm(Chest.decel ~ Wt,data = dt)
t = summary(model)
# Use names function to determine what are the objects that exist
names(t)
# Extract and cast into data frames
Residuals = as.data.frame(t$residuals)
Coefficients = as.data.frame(t$coefficients)
"
);
ResidJMP = R Get(Residuals);
ResidJMP << New Data View;
CoeffJMP = R Get(Coefficients);
CoeffJMP << New Data View;
RTerm();
Close(dt,"No Save");
Betreff: So erhalten Sie die R-Standardausgabe@MathStatChem ,
Versuche dies:
R Init();
dt=open("$SAMPLE_DATA/Cars.jmp");
R Send(dt);
R Submit(
"
model = lm(Chest.decel ~ Wt,data = dt)
t = summary(model)
# Use names function to determine what are the objects that exist
names(t)
# Extract and cast into data frames
Residuals = as.data.frame(t$residuals)
Coefficients = as.data.frame(t$coefficients)
"
);
ResidJMP = R Get(Residuals);
ResidJMP << New Data View;
CoeffJMP = R Get(Coefficients);
CoeffJMP << New Data View;
RTerm();
Close(dt,"No Save");
Betreff: So erhalten Sie die R-StandardausgabeSoweit ich sehen kann, erhält R Get () die Werte aus einer R-Datenstruktur oder -Variable (Zahl, Zeichenfolge, Matrix, Liste oder Datenrahmen), jedoch nicht aus der Standardausgabe.
Betreff: So erhalten Sie die R-Standardausgabe@MathStatChem ,
Bevor ich zu weit gehe, möchten Sie R Get() nicht verwenden? Haben Sie versucht, R Get () zu verwenden und diese Informationen dann als Eingabe für das Textfeld zu verwenden?