Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何绘制在列上运行循环的线图?_R_Ggplot2 - Fatal编程技术网

R 如何绘制在列上运行循环的线图?

R 如何绘制在列上运行循环的线图?,r,ggplot2,R,Ggplot2,由于我是一个新手,我正在发展我的技能来从事R工作 我有一个包含n列和n行的数据帧。 我需要绘制线图(可能使用ggplot),第一列作为x轴(它有年份数据),其余列运行循环。我需要n列的n-1个图 假设数据帧(df)有5列,其中第1列将用于x轴,循环应运行2及以上。2:5列的值将创建线图。每一个新的列都应该形成一个新的图表,代表受尊敬的城市的价值观。 下面提到的数据帧,后面是我一直在阅读的代码,类似于数据帧 Year C1 C2 C3 C4 2002 1 8 6 3

由于我是一个新手,我正在发展我的技能来从事R工作

我有一个包含n列和n行的数据帧。 我需要绘制线图(可能使用ggplot),第一列作为x轴(它有年份数据),其余列运行循环。我需要n列的n-1个图

假设数据帧(df)有5列,其中第1列将用于x轴,循环应运行2及以上。2:5列的值将创建线图。每一个新的列都应该形成一个新的图表,代表受尊敬的城市的价值观。 下面提到的数据帧,后面是我一直在阅读的代码,类似于数据帧

Year    C1  C2  C3  C4
2002    1   8   6   3
2003    5   2   6   5
2004    4   7   8   4
2005    5   1   1   2
我尝试了一些类似于下面的代码,但没有提取任何结果

for (i in 2:5) {
 ggplot(df......)
}
请引导我完成这个过程

你是这个意思吗

库(ggplot2)
#图书馆(三年)#枢轴#
ggplot(tidyr::pivot_更长(dat,-年),aes(年,值,颜色=名称))+
geom_线()

ggplot2
首选“长”格式的数据。要了解我的意思,请查看“透视”后的结果:

tidyr::pivot\u更长(日期,-年)
##tibble:16 x 3
#年份名称值
#      
#1 2002 C1 1
#2 2002 C2 8
#3 2002 C3 6
#4 2002 C4 3
#5 2003 C1 5
#6 2003 C2 2
#7 2003 C3 6
#8 2003 C4 5
#9 2004 C1 4
#10 2004 C2 7
#11 2004 C3 8
#12 2004 C4 4
#13 2005 C1 5
#14 2005 C2 1
#15 2005 C3 1
#16 2005 C4 2
如果不想重塑形状,则必须采用另一种类似的方法:


gg如果您喜欢学习for循环,并且希望每列有一个绘图,您可以这样做(尽管这很残酷)

库(ggplot2)
多年筹资框架第C1年C2年C3年C4年
#> 1 2002  1  8  6  3
#> 2 2003  5  2  6  5
#> 3 2004  4  7  8  4
#> 4 2005  5  1  1  2
myaxis[1]“C1”“C2”“C3”“C4”
用于(我的姓名){
打印(ggplot(mydf,aes_字符串(x=myaxis,y=mynames[[i]],group=1))+geom_线()+geom_点()
}


由(v0.3.0)于2020年5月12日创建

如果其中一个或两个答案回答了您的问题,请将其标记为正确您好,感谢您的评论,但我正在查找与列数对应的多个图。如果我走不出去,我就试试看。