我只是想在 3D 散点图中“按因子着色”,但得到col=
参数“匹配多个形式参数”的错误。
从其他问题和答案中,我了解到它与函数之间的“传递参数”有关......但恐怕我的(稀疏)R技能水平意味着我根本不明白这意味着什么(在哪里我在这样做吗......?),或者如何绕过它?
这是代码:
samples3d <-as.data.frame(aggmyxo_rare_NMDS$points) # sample scores
samples3d$pcolor[meta$E.nr.==1] <- "yellow"
samples3d$pcolor[meta$E.nr.==2] <- "orange"
samples3d$pcolor[meta$E.nr.==3] <- "red"
samples3d$pcolor[meta$E.nr.==4] <- "purpul"
samples3d$pcolor[meta$E.nr.==5] <- "blue"
samples3d$pcolor[meta$E.nr.==6] <- "darkblue"
samples3d$pcolor[meta$E.nr.==7] <- "green"
samples3d$pcolor[meta$E.nr.==8] <- "darkgreen"
with(samples3d, {
s3d <- scatterplot3d(MDS1, MDS2, MDS3,pch = ifelse(meta$op.closed=="cl",22,21), col= pcolor, type="h",lty.hplot=2, scale.y=.75)
} )
这个脚本是按照这个关于 r-bloggers 的优秀指南生成的。
我尝试了各种col= factor(pcolor)
,col= Meta$E.nr.
等等,但都给出了相同的错误。
我也试过这样:
s3d <- scatterplot3d(samples3d$MDS1, samples3d$MDS2, samples3d$MDS3, col= factor(samples3d$pcolor), type= "h", col.axis = "black",
col.grid = "grey", main = "", pch = ifelse(meta$op.closed=="cl",22,21))
以这种方式思考,我可能会绕过将函数“嵌入”到函数中(如果这是问题......)。但不,同样的错误。
所以我很抱歉提出一个已经以各种形式回答的问题,但是有人可以帮助我准确理解这个错误的“点”,以及如何在我的具体情况下纠正它?我将不胜感激。
最良好的祝愿,玛蒂尔德