私は、次のデータフレーム代替
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
私の月の欄には、4月から数ヶ月を持っています3月に...そして毎月、私のデータセットに4週間あります。これは変数columnに与えられています。私は週に私はこれを成し遂げるためにifelse機能を使用する条件
variable == "IstWeekRent" & mymonth == "Apr"
に一致する番号1を与えたいと思う1から48までの開始、マル... - 私は年度4月のために週番号を作成しようとしていますこれは正常に動作します...しかし、私は私の光沢のあるアプリケーションに同じが含まれている場合、私は、次のエラーを取得しています:
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,
trndR
は私のdfの名前であり、条件は48まで拡張されます。
私はifelse条件を50個まで入れ子にすることができると考えました...しかし、これを修正する方法はあまりよく分かりません。私は適用機能について読んでいますが、この場合の使用方法はわかりません。
データはソートされていますか?表示されたデータは、1週間に一貫した行があるように見えます。この場合、 'weeks'カラムの行数で十分でしょう。 – rosscova