Вот кадр данных:Участок нескольких участков, соответствующих нескольких столбцов, указанного индекс, на 1 графику/оси с использованием ggplot2
> test
a b c
1 0.22904349 -0.12023869 0.1546898
2 1.09504754 -0.20398923 -0.9313251
3 -0.41200391 -0.16308791 0.6716105
4 -0.04356308 -1.81898245 -0.8074506
5 -1.23413459 1.24309479 -1.3861049
6 0.14266136 -2.22712577 -0.2341793
7 -0.25113445 0.60213281 -0.8106908
8 2.52372557 0.03794341 -1.4308955
9 0.66005867 0.74508029 -0.2922560
10 1.23552452 -0.26187445 -0.9874546
То, что я хочу построить являются плотностью а, Ь, с на один граф. Я хочу, чтобы указать столбцы, которые будут отображаться по их индексам. Кроме того, плотность может быть окрашена в соответствии с их столбцами. Это код, который я попробовал:
test<- as.data.frame(cbind(a=rnorm(1:10),b=rnorm(1:10),c=rnorm(1:10)))
for(i in seq(1,ncol(test),1)){
if(i==1)p<-ggplot(data=test, aes_string(x=names(test)[i]))
else p<-p+ggplot(data=test, aes_string(x=names(test)[i]))
}
p+geom_density()
Ошибка я получил:
Error in p + o : non-numeric argument to binary operator
In addition: Warning message:
Incompatible methods ("+.gg", "Ops.data.frame") for "+"
Пожалуйста, советы. Спасибо
ли перечислив их по индексу действительно приоритет? Похоже, вы думаете, что вам нужно это сделать, потому что вы считаете, что вам нужен цикл for, но это не тот случай. – Gregor
Индексирование облегчит называть столбцы, если имеется много столбцов. Приведенный выше фрейм данных является лишь примером. – ConanG