colvar

2017-01-27 5 views
1

ハローを再び親愛なるフォーラム、colvar

私はこれらの3Dプロットと友達の最高ではない、と私シンプルな書式のもので苦労する。今のところ、私は変数からプロットを色付けできません。

with(samples3d, { 
    s3d <- scatter3D(MDS2, MDS3, MDS1, pch = ifelse(meta$op.closed=="cl",22,21), type = "h",colvar = pcolor, lty.hplot=2, scale.y=0.75) 
}) 

それは私に、このエラーを与える:

Error in clim[2] - clim[1] : non-numeric argument to binary operator 

私がいることをドキュメントから読み取ることができます。

"colvar :The variable used for coloring. ... if specified, it should be a vector of equal length as (x, y, z)."

だから私のナイーブなアプローチで私は

colvec <- as.vector(samples3d$pcolor) 
MDS1vec <- as.vector(samples3d$MDS1) 
length(MDS1vec) 
43 
length(colvec) 
43 

を確認 - それらは同じ長さなので、whここで間違っていますか?

ベスト

、 マチルド

答えて

0

あなたのベクトルであり、私はあなたのpcolorのベクトルが非数値であるエラーメッセージから引き受けるデータの種類を知らず。このエラーメッセージに

詳細な回答をここに与えられます。 Non-numeric Argument to Binary Operator Error in R

ソリューションは、数値でpcolorの中で、あなたのグループをコーディングすることができます。私がこの問題を抱えていたとき、少なくとも私にとってはうまくいった。

0

私はまた、少し彩色スキームを見つける。しかし、colvarはあなたが持っているグループ数の1,2,3,4までの数値ベクトルでなければなりません。そして、別のベクトルとしてcolを供給しなければなりません。の長さと、グループの量の長さを持っていなければなりません。 Scatter3Dは、引数 'col'として提供されている他のベクトルの中のあなたの数字をそれぞれ検索します。例:

colvar <- as.numeric(as.factor(pcolor)) 

すべての色は数字になります。そして:

これは、関数が色を取得できるcol引数です。