2017-05-24 52 views
-1

我願意在下面用這些數據在R中做一些折線圖。目前,我的代碼出現錯誤。任何幫助將受到歡迎。帶連續列的R圖

data <- structure(list(names = c("AB", "BBB", "CCC"), day1 = c(2L, 4L, 
14L), day2 = c(2.2, 10, 25), day3 = c(1.2, 12, 12), day4 = c(1.7, 
4, 12), day5 = c(2L, 10L, 14L)), .Names = c("names", "day1", 
"day2", "day3", "day4", "day5"), row.names = c(NA, -3L), class = "data.frame") 

data 
#names day1 day2 day3 day4 day5 
#AB  2 2.2 1.2 1.7 2 
#BBB 4 10 12 4 10 
#CCC 14 25 12 12 14 


ggplot(data, aes(day1:day5, names, color = names)) + geom_line() 
+0

你能告訴我們'dput(數據)'的結果呢?因爲我們在這裏不知道它是什麼:matrix,data.frame ...? – Pop

+0

data是一個data.frame。 – user8029791

+0

您不能使用'day1:day5'作爲'aes'。你需要指定1個變量 –

回答

2

試試這個:

data <- structure(list(names = c("AB", "BBB", "CCC"), day1 = c(2L, 4L, 
14L), day2 = c(2.2, 10, 25), day3 = c(1.2, 12, 12), day4 = c(1.7, 
4, 12), day5 = c(2L, 10L, 14L)), .Names = c("names", "day1", 
"day2", "day3", "day4", "day5"), row.names = c(NA, -3L), class = "data.frame") 

dat_m <- melt(data, id.var = "names") 
ggplot(df_m, aes(variable, value, colour = names, group = names)) + geom_line() 

這導致了這個情節: line plot

+0

儘量避免回答其他問題重複的問題。另外,如果'colour'是離散的,則不需要額外的'group'規範。 – Axeman

+0

謝謝,我很感激。它可以很好地工作。 – user8029791

0
library("ggplot2") 
library("reshape2") 

data <- data.frame(
    "names"=c("AB","BBB","CCC"), 
    "day1"=c(2,4,14), 
    "day2"=c(2.2,10,25), 
    "day3"=c(1.2,12,12), 
    "day4"=c(1.7,4,12), 
    "day5"=c(2,10,14) 
) 

test_data_long <- melt(data, id="names") # convert to long format 
ggplot(data=test_data_long,aes(variable,value, colour=names)) + 
     geom_line(aes(group = names)) 

enter image description here

+0

儘量避免回答其他問題重複的問題。另外,如果'colour'是離散的,則不需要額外的'group'規範。 – Axeman

+0

謝謝,很感謝。它可以很好地工作。 @rgunning – user8029791