Funkcja cat() może służyć do wysyłania danych z funkcji do konsoli, pliku lub połączenia. Nazwa funkcji cat oznacza konkatenację. Obiekty, które mają być łączone, muszą mieć tryb atomowy i być oddzielone przecinkami. Obiekty są przekształcane w wektory. Funkcja ma pięć argumentów innych niż obiekty, które mają być połączone. Pięć argumentów to file, sep, fill, labels i append. Argument file mówi cat(), gdzie wysłać dane wyjściowe. Argument jest ciągiem znaków i może być adresem pliku, połączeniem lub „” -dla konsoli. Wartość domyślna to „”. Argument sep to ciąg znaków. Wartość sep oddziela obiekty wydrukowane w wyniku. Wartość domyślna to „”.
Argument fill jest zmienną logiczną lub liczbą dodatnią. Jeśli FALSE, podziały wierszy są ustawiane za pomocą „\n” lub znaku końca w ciągu cytowanym. Jeśli TRUE, wartość szerokości opcji jest używana do ustawienia szerokości wyjścia. Jeśli wypełnienie jest liczbą dodatnią, to liczba służy do ustawiania szerokości. Wartość domyślna to FALSE. Etykiety argumentów to wektor ciągów znaków, który jest używany do etykietowania wierszy wyniku i jest używany tylko wtedy, gdy wypełnienie ma wartość PRAWDA lub wartość liczbową. Wartość domyślna to NULL. Argument append jest używany, gdy plik jest plikiem zewnętrznym. Jeśli TRUE, dane wyjściowe są dołączane do pliku. W przeciwnym razie plik zostanie nadpisany. Wartość domyślna to FALSE. Ciąg „\n” mówi cat(), aby przejść do następnej linii. Podział wiersza można również wprowadzić, przerywając wiersz w ciągu cytowanym w cudzysłowie. Na przykład:
> set.seed(69235)
> x=1:4
> y= runif(4)
> a.lm=lm(y~x)
> a.sm=summary(a.lm)
> cat(“\nThe intercept is “, round(coef(a.lm)[1],3), “. The slope is “,
round(coef(a.lm)[2],3), “. The F statistic is “, round(a.sm$f[1],4), ” on
“, a.sm$f[2], ” and “, a.sm$f[3], ” degrees of freedom. The p value is “,
round(1-pf(a.sm$f[1], a.sm$f[2], a.sm$f[3]),4), “.\n”, sep=””)
The intercept is -0.301. The slope is 0.257. The F statistic is 4.5039 on 1
and 2 degrees of freedom. The p value is 0.167
> cat(round(coef(a.lm)[1],3), round(coef(a.lm)[2],3), round(a.sm$f[1],4),
a.sm$f[2], a.sm$f[3],
+ round(1-pf(a.sm$f[1], a.sm$f[2], a.sm$f[3]), 3), fill=17, labels =
c(“intercept “, “slope “,
+ “F “, “df 1 & 2 “, “p value “))
intercept -0.301
slope 0.257
F 4.5039
df 1 & 2 1 2
p value 0.168
Więcej informacji o cat() można znaleźć, wpisując ?cat po znaku zachęty R
