このデータがあります (最初の 20 行のサンプル):
- コーディング変数値
- 1 Z1 週.0 0
- 2 Z2 週.0 0
- 3 Z3 週.0 0
- 4 Z4 週.0 0
- 5 Z5 週.0 0
- 6 Z6 週.0 0
- 7 Z7 週.0 0
- 8 Z8 週.0 0
- 9 Z9 週.0 0
- 10 Z101 Week.0 NA
- 11 Z102 Week.0 NA
- 12 Z1 Week.1 0
- 13 Z2 Week.1 0
- 14 Z3 Week.1 0
- 15 Z4 Week.1 0
- 16 Z5 Week.1 0
- 17 Z6 Week.1 0
- 18 Z7 Week.1 0
- 19 Z8 Week.1 0
そして、次を使用してプロットします:
pZ <- ggplot(zmeltdata,aes(x=variable,y=value,color=Codering,group=Codering)) +
geom_line()+
geom_point()+
theme_few()+
theme(legend.position="right")+
scale_color_hue(name = "Treatment group:")+
scale_y_continuous(labels = percent)+
ylab("Germination percentage")+
xlab("Week number")+
labs(title = "Z. monophyllum germination data")
pZ
グラフは問題なく表示されます。
しかし、これを Plot.ly にエクスポートしようとすると、次のエラーが発生します。
> py <- plotly()
> response<-py$ggplotly(pZ)
Error in if (all(xcomp) && all(ycomp)) { :
missing value where TRUE/FALSE needed
In addition: Warning message:
In trace.list[[lind[1]]]$y == trace.list[[lind[2]]]$y :
longer object length is not a multiple of shorter object length
そして、私はこれらのエラーを検索しましたが、その説明は私を完全に混乱させます. 「TRUE/FALSE が必要な場所に欠落している値。」プロセスで論理用語をIF/ELSE/TRUE/FALSEなどとして使用すると発生するはずですが、私はまったく知りません! グラフの値に NA があるかどうかを確認する場合でも、次のようになります。
> is.na(pZ)
data layers scales mapping theme coordinates facet plot_env labels
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
「長いオブジェクトの長さは短いオブジェクトの長さの倍数ではありません」は、長さが異なるオブジェクトがある場合にポップアップするはずですが、まったく同じ長さの3行の1つのオブジェクトのみを使用しています..の値グラフはNULL
、それらの行を要求すると表示されますが、それは起こるはずです..
> nrow(zmeltdata)
[1] 143
> nrow(test)
NULL
全体として、私は非常に混乱しており、これらのエラーを正しく処理する方法がわかりません。誰か詳しく説明してもらえますか?
御時間ありがとうございます。
編集: 1:100 のランダム サンプルを使用して別のグラフを Plot.ly にエクスポートしようとしましたが、うまくいきました。エラーがデータにあると確信しています。修正方法がわかりません。それ。
EDIT2: @Gregor への応答:
> dput(head(zmeltdata, 20))
structure(list(Codering = structure(c(16L, 19L, 20L, 21L, 22L,
23L, 24L, 25L, 26L, 17L, 18L, 16L, 19L, 20L, 21L, 22L, 23L, 24L,
25L, 26L), .Label = c("B1", "C2", "C3", "C8", "M1", "M101", "M102",
"M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "Z1", "Z101",
"Z102", "Z2", "Z3", "Z4", "Z5", "Z6", "Z7", "Z8", "Z9"), class = "factor"),
variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Week.0",
"Week.1", "Week.2", "Week.3", "Week.4", "Week.5", "Week.6",
"Week.7", "Week.8", "Week.9", "Week.10", "Week.11", "Week.12"
), class = "factor"), value = c(0, 0, 0, 0, 0, 0, 0, 0, 0,
NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0)), .Names = c("Codering",
"variable", "value"), row.names = c(NA, 20L), class = "data.frame")
そして尾:
> dput(tail(zmeltdata, 43))
structure(list(Codering = structure(c(19L, 20L, 21L, 22L, 23L,
24L, 25L, 26L, 17L, 18L, 16L, 19L, 20L, 21L, 22L, 23L, 24L, 25L,
26L, 17L, 18L, 16L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 17L,
18L, 16L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 17L, 18L), .Label = c("B1",
"C2", "C3", "C8", "M1", "M101", "M102", "M2", "M3", "M4", "M5",
"M6", "M7", "M8", "M9", "Z1", "Z101", "Z102", "Z2", "Z3", "Z4",
"Z5", "Z6", "Z7", "Z8", "Z9"), class = "factor"), variable = structure(c(10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L,
11L, 11L, 11L, 11L, 11L, 11L, 11L, 12L, 12L, 12L, 12L, 12L, 12L,
12L, 12L, 12L, 12L, 12L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L,
13L, 13L, 13L), .Label = c("Week.0", "Week.1", "Week.2", "Week.3",
"Week.4", "Week.5", "Week.6", "Week.7", "Week.8", "Week.9", "Week.10",
"Week.11", "Week.12"), class = "factor"), value = c(0.1, 0.06,
0.05, 0.09, 0.04, 0.08, 0.05, 0.08, 0, 0, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("Codering",
"variable", "value"), row.names = 101:143, class = "data.frame")
データセットにはかなりの数の NA がありますが、以前に同様の (より大きな) データセットを使用したことがあるので、問題になることはありません。
また、必要に応じて使用できる .csv ファイルもあります: https://www.mediafire.com/?jij1vlp14a29ntt