2015-10-05 51 views
0

是R中的初學者,已經經歷了一些基本的在線課程和Web材料以發展基本的理解。可悲的是,接下來的問題是一個非常基礎的問題,也是R的最強大的功能之一,我無法找到答案。在R中的單個圖中繪製可變參數R

問題陳述: -我有一個CSV文件看起來像這樣

  day1 day2 day3 day4 day5 day6 ........ day'n' 
Param1 9  8  5  0  0  0    4 
Param2 1  3  4  9  1  0    3 
Param3 0  0  0  1  2  3    9 
Param4 
. 
. 
Param'm' 6  4  0  1  8  3    1 

我想跨越「N」天中繪製一個圖所有這些參數的值。

也就是說。 圖形的X軸=參數值的範圍(以上例中的單元格顯示,最大值爲10)
圖形的Y軸=天數1到'n'。 每個獨特參數的圖可以通過顏色來區分。

什麼都試過這是

a <- read.csv("~sults/200000555087.csv_result.csv") 
    p<-qplot(data=a,x=names(a[,1:m)),y=c(1:n)) 

這我很清楚的知道是不是應該工作,但我能想出

最好有isin't一個有效的標籤爲qplot因此標記GGPLOT2。

感謝您的期待。

回答

0

你需要「融化」你的情節和不同的顏色組。

可以使用gather函數從tidyr包這樣的:

library(dplyr) 
library(tidyr) 

remodeled_data = a %>% 
    add_rownames('Param') %>% 
    gather(Day, Value, -Param) %>% 
    mutate(Day = as.integer(sub('^day', '', Day))) 

ggplot(remodeled_data) + 
    aes(x = Value, y = Day, color = Param) + 
    geom_line() 

重塑表達是這樣寫的:

  • 首先,對於rownames額外新增一欄,稱這是「帕拉姆」。
  • 然後收集所有的列(除Param)到名爲Value一個列,並提出了相應的列名到名爲Day一個單獨的列。
  • 最後,從Day列中解析出日期編號。

然後,數據如下所示:

Param Day Value 
    (chr) (int) (dbl) 
1 Param1  1  9 
2 Param2  1  1 
3 Param3  1  0 
4 Param4  1  6 
5 Param1  2  8 
6 Param2  2  3 
… 
+0

由於一噸,根據你的方向一點點網頁查找適合我的需要完美。 – sherinkapotein