#r #plot
#r #график
Вопрос:
У меня есть матрица data
, полученная из PCA. Каждая строка содержит пару координат. Более того, у меня есть вектор row_name
, который содержит имя каждой строки. В частности, row_name
является
PAYS
1 AL
2 AL
3 AL
4 AL
5 AU
6 AU
7 AU
8 AU
9 BE
...
, то есть инициалы страны. Каждое имя появляется 4 раза, что соответствует 4 годам 1975, 1977, 1979 и 1981.
Я хотел бы спросить, как выделить группы из 4 точек, относящиеся к каждой стране, и связать их, чтобы визуализировать «направление движения» каждой страны. Большое спасибо за вашу помощь!
OECD <- read.table("http://www.math.univ-toulouse.fr/~xgendre/ens/data/OCDE", col.names=c("PAYS", "NATA", "CHOM", "APRI", "ASEC", "PIB", "FBCF", "INFL", "RECC", "MINF", "PROT", "NRJ"))
ACP <- prcomp(OECD[-1],
retx = TRUE,
scale = TRUE)
data <- (ACP$x)[, 1:2]
row_name <- OECD[1]
plot(data, pch = 2, col = "orange")
Ответ №1:
Вы можете добавить стрелки к своему графику с помощью arrows
функции. Я выделил каждую группу стран другим цветом, чтобы было немного понятнее, какие точки в какой группе.
plot(data, pch = 2, col = rep(rainbow(nrow(data)/4), each=4))
for(i in seq(0,nrow(data)-4, 4)) {
arrows(data[(1:3) i,1], data[(1:3) i,2],
data[(2:4) i,1], data[(2:4) i,2],
length=0.1) }
Комментарии:
1. Большое вам спасибо! Это именно то, что я хочу.