1
我有一個1000數據框的列表(每列有4列同名)。我想繪製陰謀並且交互式地處理它們。以下是示例(單個列表有3個數據框)。查看,編輯和保存r中大量圖的編輯
# dummy data
c1 <- rnorm (40, 0.1, 0.02); c2 <- rnorm (40, 0.3, 0.01)
c3 <- rnorm (40, 0.5, 0.01); c4 <- rnorm (40, 0.7, 0.01)
c5 <- rnorm (40, 0.9, 0.03)
Yv <- 0.3 + rnorm (200, 0.05, 0.05)
# frist dataframe
var1 <- data.frame (idnames = paste ("ID", 1:200, sep = ""), Theta = round (c(c1, c2, c3, c4, c5), 2), R = round (Yv, 2), cltr = c(rep(1:5, each = 40)))
# same dummy data filled in second dataframe
var3 <- data.frame (idnames = paste ("ID", 1:200, sep = ""), Theta = round (c(c1, c2, c3, c4, c5), 2), R = round (Yv, 2), cltr = c(rep(1:5, each = 40)))
# same dummy data filled in third dataframe
var_5 <- data.frame (idnames = paste ("ID", 1:200, sep = ""), Theta = round (c(c1, c2, c3, c4, c5), 2), R = round (Yv, 2), cltr = c(rep(1:5, each = 40)))
# the list (the original list has >1000 dataframes)
mylist <- list (var1 = var1, var3 = var3, var_5 = var_5)
我想創建一個類似的每個數據幀的地塊,但我需要工作一個接一個,節省出來,轉移到接下來的情節
# plot for var1
myd1 <- data.frame (mylist[1])
names (myd1) <- c("idnames", "Theta", "R", "cltr")
plot(myd1$Theta, myd1$R, col=myd1$cltr+1, pch = 19, main = names (mylist[1]))
exclude <- identify(myd1$Theta, myd1$R)
## left click on the points you want to exclude (right click to stop/finish)
myd1$cltr1 <- as.numeric (myd1$cltr)+ 1
myd1$cltr1[exclude] <- 1
plot(myd1$Theta, myd1$R, col=myd1$cltr1, pch = 19, main = names (mylist[1]))
我可以對列表中的其他數據幀做同樣的處理,例如2:
myd2 <- data.frame (mylist[2])
names (myd2) <- c("idnames", "Theta", "R", "cltr")
plot(myd2$Theta, myd1$R, col=myd2$cltr+1, pch = 19, main = names (mylist[2]))
exclude <- identify(myd2$Theta, myd2$R)
## left click on the points you want to exclude (right click to stop/finish)
myd2$cltr1 <- as.numeric (myd2$cltr)+ 1
myd2$cltr1[exclude] <- 1
plot(myd2$Theta, myd1$R, col=myd2$cltr1, pch = 19, main = names (mylist[2]))
我有一些問題:
(1)我想循環這個過程,並且一個繪圖一次彈出我們,當編輯完成時,繪圖被關閉,下一個數據框的新繪圖彈出來工作等等,並繼續持續數據框在列表中。 (2)代替創建新的數據框,是否有可能在父列表中循環進程並將更改保存到父列表中。
幫助讚賞。
有沒有辦法自動執行此任務? 1000手動編輯看起來像[足夠大的負載](http://xkcd.com/1205/)首先查看是否可以更有效地完成。 – baptiste 2013-05-12 20:20:25
我沒有找到一個人,但並不完美,但我認爲這是值得的,即使它是幾小時或幾天的工作,現在我關心循環,感謝您的建議 – jon 2013-05-13 11:43:45