我正在蒙特卡洛模擬,輸出的格式爲:難道我一直都使用數據幀在GGPLOT2
> d = data.frame(iter=seq(1, 2), k1 = c(0.2, 0.6), k2=c(0.3, 0.4))
> d
iter k1 k2
1 0.2 0.3
2 0.6 0.4
我要生成的圖是:
plot(d$iter, d$k1)
plot(density(d$k1))
我知道該怎麼做使用GGPLOT2相當於地塊,轉換成數據幀
new_d = data.frame(iter=rep(d$iter, 2),
k = c(d$k1, d$k2),
label = rep(c('k1', 'k2'), each=2))
然後密謀很容易。然而,迭代的次數可能非常大,並且k的數量也可能很大。這意味着要搞亂一個非常大的數據框。
有沒有反正我可以避免創建這個新的數據框?
感謝