2014-03-03 69 views
0

我真的很努力與R的情節。我不得不做一個logmx與不同年份的男性在男性的同一陰謀的年齡情節。在這個情節中,必須有4條線用於「1870-1879」,「1940-1949」,「1960-1969」,「1980-1989」 我在這些特定年份製作了4個不同的子集,並試圖將它們結合起來,但我是新的R和我不知道我在做什麼錯。我看到了很多類似的答案,但我無法解決它。我需要使用ggplot2軟件包。ggplot爲不同年份類別

males11<-males[445:1555,1:3]
males12<-males[4885:5995, 1:3]
males13<-males[9325:10435, 1:3]
males14<-males[13765:14653, 1:3] #for子集

d1 <- data.frame(males11$Age, log(males11$mx), males11$Year)
d2 <- data.frame(males12$Age, log(males12$mx), males12$Year)
d3 <- data.frame(males13$Age, log(males13$mx), males13$Year)
d4 <- data.frame(males14$Age, log(males14$mx), males14$Year)

ggplot()
+ geom_line(aes(males11$Age, log(males11$mx), colour=males11$Year), d1) +
geom_line(aes(males12$Age, log(males12$mx), colour=males12$Year), d2) +
geom_line(aes(males13$Age, log(males13$mx), colour=males13$Year), d3) +
geom_line(aes(males14$Age, log(males14$mx), colour=males14$Year), d4)

+1

請提供輸出(頭(男性[,1:3],10))'作爲你的問題的編輯。 – Thomas

+0

請研究文檔。你不應該在'aes'中使用''''。你爲什麼不簡單地做'ggplot(男性[c(445:155,4885:5995,9325:10435,13765:14653)],aes(x = Age,y = log(xm),color = Year) )+ geom_line()'? – Roland

+0

我明白你的答案,謝謝你的工作。 – Sigh

回答

0

你應該通過自己的原始數據幀和集團打造的一個因素,與此類似:

males$group <- cut(males$Year, 
        breaks=seq(1799, 2099, 10), 
        dig.lab=4) 
library(ggplot2) 
ggplot(males[males$group %in% c("(1869-1879]", "(1939-1949]", "(1959-1969]", "(1979-1989]"), ], 
     aes(Age, mx, colour=group)) + 
    geom_line() + 
    scale_y_log10()