1

「月曜日」、「火曜日」、...「金曜日」= 0および「土曜日」/「日曜日」= 1などの数値を使用して、週末と平日をコーディングしようとしています。現在、次のデータがあります。

頭(bike.d)

    Day    Day.Code
    Sunday     4
    Sunday     4
    Sunday     4
    Sunday     4
    Sunday     4
    Sunday     4

尻尾(バイク.d)

    Day    Day.Code
    Saturday   3
    Saturday   3
    Saturday   3
    Saturday   3
    Saturday   3
    Saturday   3

以下を使用して、Day 列を数値的にコーディングしました。

Day.Code = as.numeric(bike.d$Day)

金曜日 = 1、月曜日 = 2、土曜日 = 3、日曜日 = 4、木曜日 = 5、火曜日 = 6、水曜日 = 7 です。

論理演算子を使用して、平日 =0 および週末 = 1 のバイナリ値を割り当てようとしました。次の引数のバリエーションを試しましたが、次の出力が得られます。

bike.d[,2 == 3|4]=1

head(bike.d)

    Day    Day.Code
     1         1
     1         1
     1         1
     1         1
     1         1
     1         1

尻尾(バイク.d)

    Day    Day.Code
     1         1
     1         1
     1         1
     1         1
     1         1
     1         1

「日」列のテキスト値が保持されるように、この引数を作成する方法はありますか? そして、バイナリ コードが Day.code 列に入力されるようにするか、それとも新しい列に入力されるようにしますか?

ご協力ありがとうございました!

4

1 に答える 1

1

Anifelseはまさにここで必要なものでなければなりません (それを行うには他にも多くの方法があります):

bike.d$Weekend <- ifelse( bike.d$Day.Code == 3 | bike.d$Day.Code == 4 , 1 , 0 )

例:

bike.d<- data.frame( Day = rep( weekdays(Sys.Date()+1:7) , each = 2 ) , Day.Code = rep( 1:7 , each = 2 ) )
bike.d$Weekend <- ifelse( bike.d$Day.Code == 3 | bike.d$Day.Code == 4 , 1 , 0 )
bike.d
#        Day Day.Code Weekend
#1   Thursday        1       0
#2   Thursday        1       0
#3     Friday        2       0
#4     Friday        2       0
#5   Saturday        3       1
#6   Saturday        3       1
#7     Sunday        4       1
#8     Sunday        4       1
#9     Monday        5       0
#10    Monday        5       0
#11   Tuesday        6       0
#12   Tuesday        6       0
#13 Wednesday        7       0
#14 Wednesday        7       0
于 2013-05-01T15:52:33.087 に答える