내가 가지고있는 다음과 같은 데이터 프레임 실제 데이터 프레임은 다음과 같습니다대안
structure(list(FY = c("2015-2016", "2015-2016", "2015-2016",
"2015-2016"), YEARMN = structure(c(2015.25, 2015.25, 2015.25,
2015.25), class = "yearmon"), BRAND = c("3M CAR CARE", "CAR CARE 3M",
"CAR CARE 3M", "CAR CARE 3M"), variable = structure(c(1L,
2L, 3L, 4L), .Label = c("IstWEEKRent", "IIndWEEKRent", "IIIrdWEEKRent",
"IVthWEEKRent", "mymonth"), class = "factor"), value = c("0",
"17500", "85000", "212500"), mymonth = c("Apr", "Apr", "Apr",
"Apr")), .Names = c("FY", "YEARMN", "BRAND", "variable", "value",
"mymonth"), row.names = c(NA, 4L), class = "data.frame")
:
FY YEARMN BRAND variable value mymonth
1 2015-2016 Apr 2015 3M CAR CARE IstWEEKRent 0 Apr
2 2015-2016 Apr 2015 CAR CARE 3M IIndWEEKRent 17500 Apr
3 2015-2016 Apr 2015 CAR CARE 3M IIIrdWEEKRent 85000 Apr
4 2015-2016 Apr 2015 CAR CARE 3M IVthWEEKRent 212500 Apr
내 달 열 사월에서 달이있다 3 월 ... 그리고 매월 내 데이터 세트에서 4 주를 변수 column에 제공합니다. 나는 회계 연도 4월의 주 번호를 만들려고하고 있어요 - 월을 1에서 48으로 시작 내가 ifelse이 완수하는 기능을 사용
variable == "IstWeekRent" & mymonth == "Apr"
조건을 일치하는 주 번호 하나를주고 싶어 ... 이는 잘 작동 ...하지만 난 내 반짝 응용 프로그램 나는 다음과 같은 오류가 점점 오전에 동일하게 포함 할 때 :
이Error in parse(file, keep.source = FALSE, srcfile = src, encoding = enc) :
contextstack overflow at line 2870
나의 현재 ifelse 조건 문은 다음과 같습니다
trndR$weeks <- ifelse(trndR$mymonth == "Apr" & trndR$variable == "IstWEEKRent", 1,
ifelse(trndR$mymonth == "Apr" & trndR$variable == "IIndWEEKRent", 2,
ifelse(trndR$mymonth == "Apr" & trndR$variable == "IIIrdWEEKRent", 3,
ifelse(trndR$mymonth == "Apr" & trndR$variable == "IVthWEEKRent", 4,
ifelse(trndR$mymonth == "May" & trndR$variable == "IstWEEKRent", 5,
ifelse(trndR$mymonth == "May" & trndR$variable == "IIndWEEKRent", 6,
을은 나의 df의 이름이고 조건은 최대 48 개까지 확장됩니다.
나는 50 개까지 중첩 된 ifelse 조건을 가질 수 있다고 알았습니다 ... 그러나 이것을 교정하는 방법을 확실히 알지 못합니다. 적용 함수에 대해서는 읽었지만이 경우에는 사용법을 모른다.
데이터가 정렬되어 있습니까? 표시 한 데이터는 주당 일관된 1 행이있는 것처럼 보입니다.이 경우 행 번호가'weeks' 열에 충분할 것입니다. – rosscova