2015-10-17 2 views
0

Я работаю с кадром данных R и пытаюсь построить каждый столбец самостоятельно. Я хочу, чтобы «фиксированная» переменная составляла ось x (строки), а другая 2, 3 или 4 (функция должна была обрабатывать все эти) для отдельных строк. То, как я сейчас обрабатываю это: у меня есть вектор, содержащий имена атрибутов кадра данных. Однако, очевидно, простое использование вектора не будет индексировать его должным образом. Так вот, что кадр данных выглядит следующим образом:Как получить доступ к кадру данных из вектора в R?

> retset 
    fixed  st1  st2  st3  st4 
1 str1 0.9335938 0.9445313 0.9170455 0.9090909 
2 str2 0.9670732 0.9768750 0.9637500 0.9532895 
3 str3 0.9037500 0.9325758 0.8890625 0.8546875 
4 str4 0.9540541 0.9717949 0.9397436 0.9354167 
5 str5 0.9154412 0.9382812 0.9090909 0.9117188 

, а затем вектор, который бы:

uniq <- c("st1", "st2","st3","st4") 

и я хочу, чтобы построить что-то вроде:

z<-ggplot(data=retset) 
for (x in length(uniq)) { 
    z <- z + geom_line(data=retset, aes(x=fixed,y=uniq[x], color=uniq[x])) 
} 

Кто-нибудь имеет какой-либо предложения?

+0

будут, что не мешает мне с помощью самой dataframe? – Eric

+1

См. 'Aes_string'. Пример [здесь] (http://stackoverflow.com/questions/19826352/pass-character-strings-to-ggplot2-within-a-функция), плюс много других, если вы ищете 'aes_string' и * ggplot2 loops *. – aosmith

+0

Или - как указано в BG1850 - сначала расплавьте свои данные. – Heroka

ответ

0

Я не уверен, понимаю ли я правильно, но от моего понимания плавления данных, основанных на фиксированную колонке, а затем сделать сюжет будет работать

+0

Вы правы. Это будет работать, и легенды намного проще в длинных данных. Тем не менее, на самом деле это не ответ, а больше комментарий (так как он не предоставляет никакого кода для проблемы с ANSER. – Heroka

+0

да Я согласен, что не хватало репутации для комментариев – Bg1850

Смежные вопросы