简化函数以在 r 中绘制多条线
Simplyfing functions to plot multiple lines in r
我在Whosebug上看了一个同名的案例,但是并没有解决我的疑问。
我有一个这样的数据框:
ID T1 T2 T3 T4....T10
1 40 50 50 70....40
2 30 60 29 50....NA
3 59 80 NA NA....NA
4 80 90 90 NA....NA
我只想要一个图表,将 T1、T2、T3...T10 放在 x 轴上,将 T1、T2...T10 中的分数放在 y 轴上。每个 id 随着分数的变化形成一行。我每一个都用了add=TRUE,但是还是很麻烦,因为我有300多个ID。如何在 plot 甚至 ggplot 中快速完成?
谢谢!
d <- data.frame(id=1:5,t1=1:5,t2=2:6,t3=3:7)
d[3,4]=NA
d
plot(1:(length(d)-1),ylim=range(d,na.rm=TRUE),type="n",xaxt="n",xlab="",ylab="")
for(i in 1:nrow(d)) points(unlist(d[i,])[-1],col=i,type="o")
axis(1,at=1:(length(d)-1),labels=names(d)[-1])
我在Whosebug上看了一个同名的案例,但是并没有解决我的疑问。 我有一个这样的数据框:
ID T1 T2 T3 T4....T10
1 40 50 50 70....40
2 30 60 29 50....NA
3 59 80 NA NA....NA
4 80 90 90 NA....NA
我只想要一个图表,将 T1、T2、T3...T10 放在 x 轴上,将 T1、T2...T10 中的分数放在 y 轴上。每个 id 随着分数的变化形成一行。我每一个都用了add=TRUE,但是还是很麻烦,因为我有300多个ID。如何在 plot 甚至 ggplot 中快速完成?
谢谢!
d <- data.frame(id=1:5,t1=1:5,t2=2:6,t3=3:7)
d[3,4]=NA
d
plot(1:(length(d)-1),ylim=range(d,na.rm=TRUE),type="n",xaxt="n",xlab="",ylab="")
for(i in 1:nrow(d)) points(unlist(d[i,])[-1],col=i,type="o")
axis(1,at=1:(length(d)-1),labels=names(d)[-1])