다른 정보가 들어있는 두 개의 테이블이 있지만 사이트가 공통 인 RMarkdown에서 보고서를 자동화하려고합니다. 각 사이트마다 하나씩 요약 보고서를 만들 수 있도록 루프를 작성했지만 테이블 중 하나를 작동시키지 못합니다. 첫 번째 테이블은 항상 동일한 정보를 생성하지만 두 번째 테이블은 각 고유 한 사이트에 대해 정확합니다. 지금까지이 게시물에 사용되었다두 테이블의 RMarkdown에있는 루프가 일치하지 않습니다. 출력이 일치하지 않습니다.
: R Knitr PDF: Is there a posssibility to automatically save PDF reports (generated from .Rmd) through a loop?를하지만 같은 문서에서 같은 사이트를 인쇄 할 두 개의 루프를 얻을 수 없습니다
R 스크립트 :
set.seed(100)
Site<-c("A","B","C","D","E")
Species<-c("a","b","c","d","e")
Count<-rnorm(40,20,20)
df1<-data.frame(Site,Species,Count)
df1
Habitat<-c("v","w","x","y","z")
Size<-rnorm(40,20,20)
df2<-data.frame(Site,Habitat,Size)
df2
library(tidyverse)
library(rmarkdown)
Habitats<-df2 %>%
group_by(Site, Habitat) %>%
summarise(Total_Size=sum(Size))
Habitats
report1<-filter(Habitats,Site=='A')
report1
Species<-df1 %>%
group_by(Site,Species) %>%
summarise(Total_Count=sum(Count))
Species
#Habitats loop, but this bit doesn't work
for(Site in unique(Habitats$Site)){
subgroup1<-Habitats[Habitats$Site == Site,]
render("C:/Users/TVERC/Documents/GIS DataBase/P17-19 National Trust/template.rmd", output_file = paste0('report.', Site, '.html'))
}
#Species loop
for(Site in unique(Species$Site)){
subgroup2<-Species[Species$Site == Site,]
render("C:/Users/TVERC/Documents/GIS DataBase/P17-19 National Trust/template.rmd", output_file = paste0('report.', Site, '.html'))
}
template.rmd :
```{r, echo=FALSE}
#Report Analysis
Habs<-filter(subgroup1)
Habs
```
```{r, echo=FALSE}
Spp<-filter(subgroup2)
Spp
```
어떻게하면됩니까? 3, 4 또는 5 개의 테이블을 모두 같은 사이트와 관련된 데이터로 사용하려면 솔루션도 사용할 수 있습니까? 당신의 template.rmd에서
감사합니다. @Cedric하지만 '$ 연산자는 원자 벡터에 유효하지 않습니다.'라는 오류가있어이 기능이 작동하지 않습니다. 원자 벡터에 대한 속성을 가질 수 없기 때문입니다. 어떤 제안을 해주시겠습니까? –
@ Dan. 미안 해요, 당신 말이 맞아요. 서식지가있는 서식지를 바꾸는 오타입니다. 제 자신의 대본을 수정하고 테스트 했으니 까. – Cedric