我有一个这样的数据集:
number <- c(0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,9)
val <- c(19,20,9,17,2,2,3,9,19,4,15,14,18,8,5,13,9,15,3,16,1,15,13,10,7,7,9,15,14,12)
m <- data.frame(number, val)
我想在“数字”列之后绘制不同的线图,所以每次数字等于 0 时我想要一个特定的图。我的意思是:
我该如何使用R?
使用
which
确定 0's
位置并创建绘图:
number <- c(0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,9)
val <- c(19,20,9,17,2,2,3,9,19,4,15,14,18,8,5,13,9,15,3,16,1,15,13,10,7,7,9,15,14,12)
m <- data.frame(number, val)
w <- which(m$number == 0)
w <- c(w, length(m$number))
for (i in 1:(length(w)-1)) {
st <- w[i]
sp <- w[i+1]-1
plot(m[st:sp, "number"], m[st:sp, "val"], t = "l",
xlab = paste("plot", i),
ylab = "values")
}
创建于 2024-04-05,使用 reprex v2.1.0