入出力

出力

print

オブジェクトを表示する。

# 桁数を指定する
x <- 2.3456789
print(x, digits = 3)
## [1] 2.35
# "" を表示させない
y <- "good!"
print(y, quote=FALSE)
## [1] good!

cat

文字列を表示する。

# catは改行しないので、\nを追加する
cat("正常終了しました\n次の処理に進みます")
## 正常終了しました
## 次の処理に進みます
# テキストファイルへ出力 appendは追加するかどうか
z <- c(24.5, 66.2, 45.9, 87,2)
cat(z, file = "029temp.txt", sep = ",", append = TRUE)

message, warning

message:メッセージを表示する
warning:警告メッセージを表示する。

# warning
fileName <- "hoge.csv"
file_chk <- if (file.exists(fileName)) {
  read.csv(fileName)
} else {
  warning("該当ファイルが存在しません", fileName)
}
## Warning: 該当ファイルが存在しませんhoge.csv
# message
fileName <- "hoge.csv"
file_chk <- if (file.exists(fileName)) {
  read.csv(fileName)
} else {
  message("該当のファイルが存在しません", fileName)
}
## 該当のファイルが存在しませんhoge.csv

dput

RのオブジェクトをASCII文字表現に書き込む。

x <- mtcars[mtcars$mpg >= 30.0,]
dput(x, file="029mtcars-mpg30.R")
x
##                 mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Fiat 128       32.4   4 78.7  66 4.08 2.200 19.47  1  1    4    1
## Honda Civic    30.4   4 75.7  52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla 33.9   4 71.1  65 4.22 1.835 19.90  1  1    4    1
## Lotus Europa   30.4   4 95.1 113 3.77 1.513 16.90  1  1    5    2
保存された「mtcars-mpg30.R」の内容
structure(list(mpg = c(32.4, 30.4, 33.9, 30.4), cyl = c(4, 4, 
4, 4), disp = c(78.7, 75.7, 71.1, 95.1), hp = c(66, 52, 65, 113
), drat = c(4.08, 4.93, 4.22, 3.77), wt = c(2.2, 1.615, 1.835, 
1.513), qsec = c(19.47, 18.52, 19.9, 16.9), vs = c(1, 1, 1, 1
), am = c(1, 1, 1, 1), gear = c(4, 4, 4, 5), carb = c(1, 2, 1, 
2)), .Names = c("mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", 
"vs", "am", "gear", "carb"), row.names = c("Fiat 128", "Honda Civic", 
"Toyota Corolla", "Lotus Europa"), class = "data.frame")

format

出力形式を整形して表示する。

x <- 1.83702973635476627
# 小数点2位以下を四捨五入する。
format(round(x,2))
## [1] "1.84"
# 小数点2位以下を四捨五入する。表示は小数点3桁
format(round(x,2), nsmall = 3)
## [1] "1.840"

sink, capture.output

sink:consoleに返される内容をファイルにする。

# ファイル名の引数でsinkを呼び出す。この後実行されるconsoleの内容がファイルに書き出される。
sink("029str-mtcars.txt")
str(mtcars)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
##  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
##  $ qsec: num  16.5 17 18.6 19.4 17 ...
##  $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
# 引数なしで実行すると従来通り、consoleに出力する
sink()
 保存されたテキストファイルを表示
'data.frame':   32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...

capture.output

consoleの出力内容を1行単位に文字列として出力する。

y <- capture.output(str(mtcars))
y
##  [1] "'data.frame':\t32 obs. of  11 variables:"                         
##  [2] " $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ..."  
##  [3] " $ cyl : num  6 6 4 6 8 6 8 4 4 6 ..."                            
##  [4] " $ disp: num  160 160 108 258 360 ..."                            
##  [5] " $ hp  : num  110 110 93 110 175 105 245 62 95 123 ..."           
##  [6] " $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ..."
##  [7] " $ wt  : num  2.62 2.88 2.32 3.21 3.44 ..."                       
##  [8] " $ qsec: num  16.5 17 18.6 19.4 17 ..."                           
##  [9] " $ vs  : num  0 0 1 1 0 1 0 1 1 1 ..."                            
## [10] " $ am  : num  1 1 1 0 0 0 0 0 0 0 ..."                            
## [11] " $ gear: num  4 4 4 3 3 3 3 4 4 4 ..."                            
## [12] " $ carb: num  4 4 1 1 2 1 4 2 2 4 ..."
最終更新日:2016/04/27

copyrigth © 2016 r-beginners.com All rigths reserved.

PAGE TOP ▲