R中的分类变量子集
Categorical Variable subsetting in R
我如何根据“湖泊”对我的数据进行子集化,然后在同一地块上绘制所有三个湖泊的养分(P、N、C)与日期的关系图。另一件事是我的数据中有空白 (NA),我不想用零替换它。因为它会表明化学物质的浓度为零,这是不正确的。有什么方法可以让 R 不为 NA 值绘制任何点?看起来我在 R 中用 NA 值得到了奇怪的图。但是 excel 没有那个问题。 (excel 根本不为空白绘制任何东西)
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
我想这就是您要找的。
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)
我如何根据“湖泊”对我的数据进行子集化,然后在同一地块上绘制所有三个湖泊的养分(P、N、C)与日期的关系图。另一件事是我的数据中有空白 (NA),我不想用零替换它。因为它会表明化学物质的浓度为零,这是不正确的。有什么方法可以让 R 不为 NA 值绘制任何点?看起来我在 R 中用 NA 值得到了奇怪的图。但是 excel 没有那个问题。 (excel 根本不为空白绘制任何东西)
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
我想这就是您要找的。
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)