2016-08-15 6 views
0

날짜, 결과, 매개 변수, 스테이션이 R 인 수질 데이터의 데이터 세트가 있습니다. 샘플이 처음이자 마지막 날짜를 추출하려고합니다. 내 데이터 프레임이 끝날 때 두 개의 새로운 열을 차지할 PER 스테이션을 가져 왔습니다. 또한 월, 일 및 연도에 대한 열도 있습니다. 나는 역으로 요약 통계를 추출하기 위해이 일을했습니다한 열에서 첫 번째 날짜와 마지막 날짜를 추출하고 두 개의 새로운 열로 삽입

'data.frame': 50954 obs. of 8 variables: 
$ Date  : chr "6/9/2016" "6/9/2016" "6/8/2016" "6/8/2016" ... 
$ Result : num 400 160 2200 260 660 550 2100 270 750 82 ... 
$ Units : chr "M" "M" "M" "M" ... 
"Fecal coliforms" ... 
$ Station : chr "RIO GRANDE DE MANATI AT HWY 2 NR MANATI, PR" "RIO GRANDEE DE MANATI AT HWY 2 NR MANATI, PR" "RIO CAONILLAS NR JAYUYA, PR" 
"RIO CAONILLAS NR JAYUYA, PR" ... 
$ month : num 6 6 6 6 6 6 6 6 6 6 ... 
$ year  : num 2016 2016 2016 2016 2016 ... 
$ day  : num 9 9 8 8 8 8 7 7 7 7 ... 

: 여기

는 구조

P303.split <- split(P303, Parameter) 
Copper = P303.split$'Copper' 
CopperSumStats = data.frame(do.call("rbind", by(Copper[, "Result"], Copper[,"Station"], summary))) 

이 이제 막 시작 및 종료 날짜가 필요 .. 미리 감사드립니다.

+2

예제를 만들려고 시도해야합니다. [reproducible] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). 'dput'을 사용하여 데이터를 제공 할 수 있습니까? – bouncyball

답변

1

나는 당신이 필요로하는 계산을 수행 dplyr를 사용할 수 있다고 생각 :

library(dplyr) #load package 
df1$Date <- as.Date(df1$Date, format = "%d/%m/%Y") #format date 
#data manipulation 
df1 %>% 
group_by(Station) %>% 
mutate(FirstDate = min(Date), LastDate = max(Date)) -> df2 

이 솔루션은 데이터가 df1라는 data.frame에 있다고 가정합니다.

+0

도움 주셔서 감사합니다. – kslayerr

+0

@Kelsey가 날짜 열을 다시 포맷 해 봤지만 FirstDate 및 Last Date 열에 NAs를 사용하고있는 것 같습니다. 날짜에 대한 NA 값이 있습니까? 그렇다면'min'과'max' 함수에서'na.rm = T'를 지정할 필요가 있습니다. – bouncyball

관련 문제