質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • R

    412questions

    R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

  • Julia

    23questions

    Juliaとは、科学技術計算に特化した、高水準・高性能な動的プログラミング言語です。オープンソースとして公表されており、書き易く動きが早いことが特徴です。

  • ggplot2

    6questions

    ggplot2は、統計解析向けのプログラミング言語及びその開発実行環境であるR言語のグラフィック作成用のライブラリです。

Julia でggplot2 の描画ができない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 247

shotaroh

score 15

Julia でggplot2 を使ってグラフを描画したいのですが、エラーが出てしまってできません。
解決策がわからないため、どなたか助けていただけないでしょうか。

データは以下のようになっています。

head(df)
Out[55]:
tpr    fpr    line
Any    Any    String
1    0.0    0.000712758    honban
2    0.0    0.00142552    honban
3    0.0    0.00213828    honban
4    0.0    0.00285103    honban
5    0.0    0.00356379    honban
6    0.0    0.00427655    honban

以下のように実行すると、

using RCall
@rlibrary ggplot2
@rlibrary ggsci
@rlibrary reshape2
ggplot(df, aes(x=:fpr, y=:tpr))+ geom_line()


このようなエラーが出てしまいます。

REvalError:  order(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,  でエラー: 
   型 'list''listgreater' における)は未実装です

Stacktrace:
 [1] macro expansion at ./logging.jl:307 [inlined]
 [2] #handle_eval_stderr#41(::Bool, ::Function) at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/io.jl:110
 [3] #handle_eval_stderr at ./none:0 [inlined]
 [4] rprint(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Ptr{VecSxp}) at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/io.jl:33
 [5] rprint at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/io.jl:43 [inlined]
 [6] show at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/io.jl:49 [inlined]
 [7] show at ./sysimg.jl:194 [inlined]
 [8] limitstringmime(::MIME{Symbol("text/plain")}, ::RObject{VecSxp}) at /Users/shotaro/.julia/packages/IJulia/0cLgR/src/inline.jl:36
 [9] display_mimestring(::MIME{Symbol("text/plain")}, ::RObject{VecSxp}) at /Users/shotaro/.julia/packages/IJulia/0cLgR/src/execute_request.jl:73
 [10] display_dict(::RObject{VecSxp}) at /Users/shotaro/.julia/packages/IJulia/0cLgR/src/execute_request.jl:101
 [11] #invokelatest#1 at ./essentials.jl:697 [inlined]
 [12] invokelatest at ./essentials.jl:696 [inlined]
 [13] execute_request(::ZMQ.Socket, ::IJulia.Msg) at /Users/shotaro/.julia/packages/IJulia/0cLgR/src/execute_request.jl:256
 [14] #invokelatest#1 at ./essentials.jl:697 [inlined]
 [15] invokelatest at ./essentials.jl:696 [inlined]
 [16] eventloop(::ZMQ.Socket) at /Users/shotaro/.julia/packages/IJulia/0cLgR/src/eventloop.jl:8
 [17] (::getfield(IJulia, Symbol("##12#15")))() at ./task.jl:259


ちなみに以下のようにしてもダメでした。

R"""
g <- ggplot($roc, aes(x = FalsePositiveRate, y = TruePositiveRate))
g <- g + geom_line()
g <- g + scale_color_nejm()
plot(g)
"""
REvalError:  order(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,  でエラー: 
   型 'list'('listgreater' における)は未実装です

Stacktrace:
 [1] macro expansion at ./logging.jl:307 [inlined]
 [2] #handle_eval_stderr#41(::Bool, ::Function) at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/io.jl:110
 [3] #handle_eval_stderr at ./none:0 [inlined]
 [4] reval_p(::Ptr{LangSxp}, ::Ptr{EnvSxp}) at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/eval.jl:99
 [5] reval_p(::Ptr{RCall.ExprSxp}, ::Ptr{EnvSxp}) at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/eval.jl:115
 [6] reval(::String, ::RObject{EnvSxp}) at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/eval.jl:132
 [7] top-level scope at /Users/shotaro/.julia/packages/RCall/Q4n8R/src/macros.jl:67
 [8] top-level scope at In[58]:1

これは実行できるのですが...

R"""
d=data.frame(x=1:20,y=cos(1:20),z=c(rep("red",10),rep("blue",10)))
g <- ggplot(d, aes(x = x, y = y, color = z)) + geom_line()
"""
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

+1

最初に型を指定したらできました。

TPR = Float64[]
FPR = Float64[]
....
using RCall
@rlibrary ggplot2
@rlibrary ggsci
@rlibrary reshape2
ggplot(roc, aes(x=:fpr, y=:tpr))+ geom_line()


イメージ説明

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • R

    412questions

    R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

  • Julia

    23questions

    Juliaとは、科学技術計算に特化した、高水準・高性能な動的プログラミング言語です。オープンソースとして公表されており、書き易く動きが早いことが特徴です。

  • ggplot2

    6questions

    ggplot2は、統計解析向けのプログラミング言語及びその開発実行環境であるR言語のグラフィック作成用のライブラリです。