ggplot에서 제목으로 사용하기 위해 데이터 프레임 이름을 얻으려고합니다.
#create dataframes
N1 <- N2 <- N3 <- N4 <- data.frame(matrix(1:12, 3, 4))
#list dataframes
mylist = list(N1, N2, N3, N4)
#rename dataframes in list
names(mylist) = c("N1", "N2", "N3", "N4")
#plot each ggplot using one data frame
myggplots = lapply(mylist, function(x){
require(ggplot2)
a = ggplot(x, aes(x=X1, y = X2)) +
geom_point() +
ggtitle(paste0(x))
a
})
myggplots [[1]]에 액세스하면 제목이 데이터 프레임의 이름이 아닙니다 (이 경우 N1). 그러나 각 플롯 객체는 객체를 생성하는 데 사용 된 데이터 프레임을 따라 올바르게 이름이 지정됩니다.
성공하지 못한 채 많은 코드를 시도했습니다. ggplot 목록을 만드는 것이 중요합니다!
그것이이기 때문에 named
목록, 우리가 사용할 수있는 imap
곳 .y
반환 name
의 list
요소와 .x
요소의 값
library(ggplot2)
library(purrr)
out <- imap(mylist, ~
ggplot(.x, aes(x = X1, y = X2)) +
geom_point() +
ggtitle(.y)
)
로 lapply
, 옵션은 하나의 시퀀스를 통해 루프 인 list
을 또는 names
후 추출 list
소자와[[
out <- lapply(names(mylist), function(nm)
ggplot(mylist[[nm]], aes(x = X1, y = X2)) +
geom_point() +
ggtitle(nm)
)
또는 사용 Map
out <- Map(function(x, y)
ggplot(x, aes(x = X1, y = X2)) +
geom_point() +
ggtitle(y),
mylist, names(mylist))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다