Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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_Plot_Dataframe_Ggplot2 - Fatal编程技术网

在R中为数据帧的每一行绘制不同的线

在R中为数据帧的每一行绘制不同的线,r,plot,dataframe,ggplot2,R,Plot,Dataframe,Ggplot2,我的问题可能是基本的,但在过去的几个小时里,它一直让人头痛,因此,任何帮助都将非常感谢 我有一个约150列和约1000行的数据帧。数据框的每个[i,j]单元都包含一个数值,除了数据框第一列中包含唯一ID的值(数据框的每一行都是唯一的) 我想绘制一个图表,其中数据框的每一行都将单独绘制在一个单独的图表(绘图)上(即,对于每一行,将创建一个有自己轴的绘图,其中y轴上绘制的行的值和x轴上作为标签的数据框的列名)。然后,每个单独的图表都将位于前一个图表的下方 例如,如果我们假设数据帧如下所示: Jan

我的问题可能是基本的,但在过去的几个小时里,它一直让人头痛,因此,任何帮助都将非常感谢

我有一个约150列和约1000行的数据帧。数据框的每个[i,j]单元都包含一个数值,除了数据框第一列中包含唯一ID的值(数据框的每一行都是唯一的)

我想绘制一个图表,其中数据框的每一行都将单独绘制在一个单独的图表(绘图)上(即,对于每一行,将创建一个有自己轴的绘图,其中y轴上绘制的行的值和x轴上作为标签的数据框的列名)。然后,每个单独的图表都将位于前一个图表的下方

例如,如果我们假设数据帧如下所示:

Jan = c(2, 3, 5) 
Feb = c(8, 9, 12) 
Mar = c(2.2, 7, 3) 
Apr= c(1, 3.7, 23) 
df = data.frame(Jan, Feb, Mar, Apr)
然后我的目标是让3个图一个在另一个下面,每个图包含一条穿过4个点的线,对应于4个月(1月、2月、3月、4月)的每个值。例如,第一个绘图将有一条从值[2,Jan]、[8,Feb]、[2.2,Mar]和[1.0,Apr]经过的线。接下来的两个情节也是如此

有人能给我指出正确的方向,并给我一些如何实现目标的提示吗


多谢各位

下面是一个解决方案,它使用您的示例上的
重塑2
包中的
melt

拥有1000多个面(行)和150多个x记号(列)可能更难


下面是一个解决方案,使用您示例中的
reformae2
包中的
melt

拥有1000多个面(行)和150多个x记号(列)可能更难


尽管每次调用
plot
时都会实例化一个新的绘图,但如果调用
segment
,它将添加到线段上。或者,您可以使用x变量调用
,并找到连接点的设置,而
绘图
每次调用时都会实例化一个新绘图,如果调用
,它将添加到线段上。或者,您可以使用x变量调用
,并找到连接点的设置Billiant solution bVa!非常感谢你的帮助!你完全搞定了!卓越解决方案bVa!非常感谢你的帮助!你完全搞定了!
df = cbind(df, row_number = seq(1, 3))

df_melt = melt(df, id = "row_number")

ggplot(df_melt, aes(x = variable, y = value, group = row_number)) + 
geom_line(stat = "identity") + facet_wrap(~row_number, ncol = 1, scales = "free")