6 つのテキスト ファイル (それぞれ改行で区切られた数字を含む) からデータを取得しています。
args <- commandArgs(trailingOnly = TRUE)
t0 <- read.table(paste("2_",args[1],".txt",sep=""), header=FALSE, sep="\n")
t1 <- read.table(paste("4_",args[1],".txt",sep=""), header=FALSE, sep="\n")
t2 <- read.table(paste("6_",args[1],".txt",sep=""), header=FALSE, sep="\n")
t3 <- read.table(paste("8_",args[1],".txt",sep=""), header=FALSE, sep="\n")
t4 <- read.table(paste("10_",args[1],".txt",sep=""), header=FALSE, sep="\n")
t5 <- read.table(paste("12_",args[1],".txt",sep=""), header=FALSE, sep="\n")
同じ y 軸を使用して、6 つの箱ひげ図を並べて 1 つのプロットを作成したいと考えています。同様の質問に相談しましたが、成功しませんでした。
times <- matrix(c(t0,t1,t2,t3,t4,t5), ncol=6)
png(paste(args[1],".png",sep=""))
boxplot(x = as.list(as.data.frame(times)))
dev.off()
これにより、次のエラーが発生します。
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
Calls: boxplot ... boxplot.stats -> <Anonymous> -> sort -> sort.default -> sort.int
どこが間違っているのか理解に苦しむ。誰かが私に書き込みパスを指示したり、私の目標を達成するための別の方法を提示したりできれば、それは大歓迎です.
ありがとうございました。
編集
以下は、リクエストに応じて再現可能な例です。
c_graph.r
:
#!/usr/bin/env Rscript
t0 <- read.table("t0.txt",header=FALSE, sep="\n")
t1 <- read.table("t1.txt",header=FALSE, sep="\n")
t2 <- read.table("t2.txt",header=FALSE, sep="\n")
times <- matrix(c(t0,t1,t2), ncol=3)
png("test.png")
boxplot(x = as.list(as.data.frame(times)))
dev.off()
t0.txt
、t1.txt
、t2.txt
(すべて同じ内容):
5287
5287
58
2
525
8
758
7587
587
コードの実行:
Rscript c_graph.r
結果:
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
Calls: boxplot ... boxplot.stats -> <Anonymous> -> sort -> sort.default -> sort.int