如果你想他們都在一個單一的情節,這將是最簡單的,如果您首先「堆疊」數據框幷包含一個列,用於標識數據來自哪個原始數據框。
library(dplyr)
library(ggplot2)
首先創建假數據。下面的代碼創建一個包含八個數據幀的列表。我們假設這是我們讀完數據後開始的地方。使用ggplot
# Fake data
set.seed(954)
df = lapply(paste0("d",0:7), function(x) {
n=sample(seq(100,500,100),1)
data.frame(source=x, index=1:n, values=cumsum(rnorm(n)))
})
# Stack the eight data frames into a single data frame
df = bind_rows(df)
簡介:如果你從不同的文件中的數據幀(CSV文件,例如)讀取,剛剛看了他們都到一個列表,然後使用bind_rows
堆棧他們。我們使用source
(原始數據幀的名稱)作爲colour
審美:
ggplot(df, aes(index, values, colour=source)) +
geom_line() +
theme_bw()
或者,如果你想正常化index
跨越每個數據幀相同的範圍:
ggplot(df %>% group_by(source) %>%
mutate(index = index/max(index)),
aes(index, values, colour=source)) +
geom_line() +
theme_bw()
更新:在回答您的意見,如果你有數據幀已經,你可以這樣做是爲了得到一個數據幀:
df=lapply(paste0("sign",1:8), function(x) {
data.frame(source=x, get(x))
})
df=bind_rows(df)
但你必須在某個時候將數據讀入R和你可以照顧當您將數據文件讀入R時,此類處理就是這種類型的處理。
如果您可以提供可重現的示例http://stackoverflow.com/help/mcve,這非常有幫助。 –