(R コンソールに入力するだけで)のコードを見ると、plotTangentSpace
最初に「引数リスト」が見つかります。
function (A, axis1 = 1, axis2 = 2, warpgrids = TRUE, label = FALSE)
ご覧のとおり、ラベルを「オン」または「オフ」(label = TRUE
またはFALSE
) にすることができますが、ラベルの実際の値を設定するための引数はありません。さらに下には、デフォルトのハードコードされたラベル ( seq(1, n)
) のコードが 2 か所にあります。
if (label == T) {
text(pcdata[, axis1], pcdata[, axis2], seq(1, n),
adj = c(-0.7, -0.7))
...ここpcdata
で、、、axis1
およびn
は関数の先頭で定義されています。
したがって、ラベルの値を設定したい場合は、関数を少し書き直す必要があるようです。labels
1 つの可能性は、に引数を追加することarglist
です。
function (A, axis1 = 1, axis2 = 2, warpgrids = TRUE, label = FALSE, labels = NULL)
...両方のtext
呼び出しで引数を変更します。
text(pcdata[, axis1], pcdata[, axis2], labels,
adj = c(-0.7, -0.7))
名前空間のtps
関数にもアクセスする必要があります。これは、 の両方のインスタンスの前にgeomorph
追加することで実現できます。geomorph:::
tps
geomorph:::tps(ref, shape.min, 20)
geomorph:::tps(ref, shape.max, 20)
次に、更新された関数を新しい関数名に割り当てます。
plotTangentSpace2 <- function (A, axis1 = 1, axis2 = 2, warpgrids = TRUE, label = FALSE, labels = NULL){
lots-of-stuff
text(pcdata[, axis1], pcdata[, axis2], labels,
adj = c(-0.7, -0.7)) # in both places
more-stuff
geomorph:::tps(ref, shape.min, 20)
geomorph:::tps(ref, shape.max, 20)
}
'Myname' をラベルとして使用して、更新された関数でプロットします。
plotTangentSpace2(Y.gpa$coords, label = TRUE, labels = Myname)
