2017-02-13 7 views
0

Как я могу подмножить свои данные на основе «озера», а затем построить питательные вещества (P, N, C) по сравнению с датой для всех трех озер на том же участке. Другое дело, что у меня есть пробелы (NA) в моих данных, и я не хочу их заменять нулем. Потому что это покажет, что концентрация химического вещества равна нулю, что неверно. Есть ли какой-либо способ, чтобы R не создавала никакой точки для значений NA? Похоже, я получаю странно выглядящие графики в R с значениями NA. Но у Excel нет этой проблемы. (excel просто ничего не замышляет для пробелов)Подмножество категориальных переменных в R

lake      date depth  P   N   C 
East Long Lake  9/5/1994  0.7  21.9  254.8 
East Long Lake  9/5/1994  1.0  30.1  1190.0  257.0 
East Long Lake  9/5/1994  1.5  20.5  256.6 
East Long Lake  9/5/1994  2.5  22.1  249.0 
East Long Lake  9/5/1994 12.0  212.5  2011.6  1090.6 
Central Long Lake 6/30/1995  0.6  22.9  91.1 
Central Long Lake 6/30/1995  4.0 
Peter Lake   7/6/1994  6.1  41.9  527.2  29.6 
Peter Lake   7/6/1994 12.0  138.8  1994.0  1409.6 
Peter Lake   7/13/1994  0.0  19.1  746.7  22.6 
Peter Lake   7/13/1994  0.7  19.2  21.3 
+0

Возможный дубликат [данных Подменю и черчения вместе] (http://stackoverflow.com/questions/42195023/subsetting- data-and-plotting-it-together) – Akbar

+0

Если значения действительно NA, вы можете подмножать переменную, используя '! is.na (value)' или 'complete.cases', чтобы удалить целые строки. – lmo

ответ

1

Я думаю, что это то, что вы ищете.

library(data.table) 
library(ggplot2) 
dt = fread("tmp.csv") 
dt$date = as.Date(dt$date, "%m/%d/%Y") 
dt[,"depth" := NULL] 
d <- melt(dt, id.vars=c("lake","date")) 

ggplot(d=subset(d, !is.na(value)), aes(date, value, col = variable)) + geom_point() + facet_wrap(~ lake) 

Это может быть график вы ищете:

ggplot(d=subset(d, !is.na(value)), aes(date, value, col = lake)) + geom_point() + facet_wrap(~ variable) 
+0

Спасибо большое. Это похоже на работу, за исключением того, что у меня нет даты на оси y, если я хочу видеть временные тенденции в данных по различным озерам. похоже, дата намечается как переменная на графике, а не на метке – Wisconsin

+0

@ Висконсин, извините, я не знаю, что вы имеете в виду. дата в настоящее время находится на оси x, а ось y задана переменной, которая представляет собой P, N и C, и они имеют разные цвета. Как именно вы этого хотите? – Kristofersen

+0

@Wisconsin скажите, если новый выглядит правильно. – Kristofersen