나는 새가 둥지를 부화 성공을 계산하는 물류 노출을 사용하고 있습니다. 내 데이터 세트는 매우 광범위하고 ~ 2,000 개의 둥지가 있으며 고유 한 ID ("ClutchID")가 있습니다. 특정 네스트가 노출 된 일 수 ("Exposure")를 계산하거나보다 간단하게 . 첫째와 마지막 날 나는 다음과 같은 코드를 사용 :그룹별로 날짜의 차이를 계산 R
HS_Hatch$Exposure=NA
for(i in 2:nrow(HS_Hatch)){HS_Hatch$Exposure[i]=HS_Hatch$DateVisit[i]- HS_Hatch$DateVisit[i-1]}
HS_Hatch 내 데이터 세트이며 DateVisit는 실제 날짜입니다 유일한 문제는 R이하지 않는 (1 일에 대한 노출 값을 계산하는된다. ..
: 의미) 는정말 주어진 클러치하기위한 곳 중 1 번째와 마지막 날짜 사이의 차이를 계산하는 것입니다 필요가 내가 또한 다음을 검토 한 결과
나는 아직도 R을 배우므로 어떤 도움을 주시면 대단히 감사하겠습니다. 편집
: 아래 는 우리가 단지 dplyr
패키지가 필요 내가 코멘트의 일부 수집
HS_Hatch <- structure(list(ClutchID = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L
), DateVisit = c("3/15/2012", "3/18/2012", "3/20/2012", "4/1/2012",
"4/3/2012", "3/18/2012", "3/20/2012", "3/22/2012", "4/3/2012",
"4/4/2012", "3/22/2012", "4/3/2012", "4/4/2012", "3/18/2012",
"3/20/2012", "3/22/2012", "4/2/2012", "4/3/2012", "4/4/2012",
"3/20/2012", "3/22/2012", "3/25/2012", "3/27/2012", "4/4/2012",
"4/5/2012"), Year = c(2012L, 2012L, 2012L, 2012L, 2012L, 2012L,
2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L,
2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L,
2012L), Survive = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -25L), .Names = c("ClutchID",
"DateVisit", "Year", "Survive"), spec = structure(list(cols = structure(list(
ClutchID = structure(list(), class = c("collector_integer",
"collector")), DateVisit = structure(list(), class = c("collector_character",
"collector")), Year = structure(list(), class = c("collector_integer",
"collector")), Survive = structure(list(), class = c("collector_integer",
"collector"))), .Names = c("ClutchID", "DateVisit", "Year",
"Survive")), default = structure(list(), class = c("collector_guess",
"collector"))), .Names = c("cols", "default"), class = "col_spec"))
스택 오버플로에 오신 것을 환영합니다! [재현 가능한 예] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 제공 할 데이터를 제공해 주시겠습니까? –
아마도'summarize (노출 = diff (range (DateVisit)))'입니까? –
@BenBolker가 말했듯이, 그의'summarise' 라인은'group_by' 라인을 따라 가야한다고 덧붙입니다. 그리고'DateVisit' 클래스에 따라 첫 번째 mutate 줄을 남기거나'summarize' 줄을'DateVisit' 대신'Exposure'를 참조하도록 변경할 수 있습니다. – rosscova