2013-07-31 2 views
1

Я пытаюсь построить массив данных, состоящий из цифр и некоторых записей NA в R.R черчения набора данных с НС Значения

V1,V2,V3 
2, 4, 3 
NA, 5, 4 
NA,NA,NA 
NA, 7, 3 
6, 6, 9 

Если вернуть те же строки в сюжете, как если бы я поступил:

V1,V2,V3 
2, 4, 3 
3, 5, 4 
4, 6, 3.5 
5, 7, 3 
6, 6, 9 

что мне нужно R, чтобы сделать это в основном построение набора данных как точки, а затем соединить эти точки прямыми линиями, которые - из-за размером набора данных - будет гораздо более эффективным, то фактический расчет каждое интерполированное значение в наборе данных. Поэтому это не должно происходить путем вычисления интерполяций (через цикл или что-то в этом роде), а вместо этого просто на графике.

Поскольку набор данных имеет несколько столбцов, и в настоящее время я использую функцию Rs matplot, чтобы визуализировать его, должен быть способ добавить несколько отрегулированных NA строк (например, в matpot() или lines()). Следовательно, plot (...) будет проблематичным, поскольку он перезаписывает текущее графическое устройство.

ответ

0
mydf <- data.frame(V1=c(2,NA,NA,NA,6),V2=c(4,5,NA,7,6),V3=c(3,4,NA,3,9)) 

plot(NA,xlim=c(0,nrow(mydf)+1),ylim=c(min(mydf,na.rm=TRUE)-1,max(mydf,na.rm=TRUE)+1)) 
mapply(function(x,color){ 
    dat <- na.omit(cbind(1:length(x),x)) 
    lines(dat[,1],dat[,2],col=color) 
},mydf,c("red","blue","green")) 

enter image description here

+0

Спасибо большое! Правильно, что я искал! Есть ли способ для rainbow() окрасить линии по-разному, чтобы избежать путаницы при просмотре? Добавление строк (dat [, 1], dat [, 2], col = x) выводит повторяющиеся цвета (в этом случае два раза синий). col = rainbow (length (..)) тоже не работает. –

+0

@StephenRewitz Смотрите мое редактирование, которое использует «mapply» и вектор цветов. – Thomas

+0

Какая часть ответа отвечает? Илимские пармы? –

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