(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は関数の先頭で定義されています。
したがって、ラベルの値を設定したい場合は、関数を少し書き直す必要があるようです。labels1 つの可能性は、に引数を追加すること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)
