0

使用しているデータセット内の 55 個の変数のうち 10 個を持つデータ フレーム内の変数を変更しようとしています。これらの 10 個の変数のうち 5 個はカテゴリ変数であるため、それらを (文字として) 因子に変換しようとしています。ただし、R がミューテーションを行うたびに、R はこれらの 5 つの要素にミューテーションを適用します。R は、55 個の変数のグループ全体でそれらにのみ突然変異を適用します。コード全体と各変数を個別に複数回強調表示して再実行しましたが、それでも機能しません。必要な 10 個の変数に対して (view) 関数を使用し、表示されたテーブルの各変数名にカーソルを合わせると、何らかの理由で突然変異が消えてしまいます。データセット全体で (view) を使用して同じことを行うと、ミューテーションが存在します。私' これを機能させようとして、複数のデータフレームを作成しました。変数をもう一度移動する必要があるのではないかと考えましたが、そうではありませんでした。

現在、R が 1 つの突然変異のみを適用するという問題にも直面しています。変数 "qualslp" を数値から文字に変更してから、変数 "sex" に同じことを行うと、r は "qualslp" の変更を取り除き、数値に戻りますが、"sex" は文字ベクトルになります。 .

以下にコードとスクリーンショットを示します。

1 つの変異を含む 55 の変数のスクリーンショット (黄色の下線)

mutate 関数を使用する 10 個の変数を含むデータ フレーム (黄色の下線付き) のスクリーンショット

sleepdata_nvars <-select(sleepdata,
                     age, sex, alchohol, smokenum, liteslp, wakenite, medhelp, qualslp, depress, ess)

sleepdata_nvars <- mutate(sleepdata,
                      sex = as.character(sex),
                      sex = fct_recode(sex,
                                       "female" = "0",
                                       "male" = "1"))
sleepdata_nvars <- mutate(sleepdata,
                      liteslp = as.character(liteslp),
                      liteslp = fct_recode(liteslp,
                                       "yes" = "1",
                                       "no" = "2"))
sleepdata_nvars <- mutate(sleepdata,
                      wakenite = as.character(wakenite),
                      wakenite = fct_recode(wakenite,
                                       "yes" = "1",
                                       "no" = "2"))
sleepdata_nvars <- mutate(sleepdata,
                      medhelp = as.character(medhelp),
                      medhelp = fct_recode(medhelp,
                                       "yes" = "1",
                                       "no" = "2"))
sleepdata_nvars <- mutate(sleepdata,
                      qualslp = as.character(qualslp),
                      qualslp = fct_recode(qualslp,
                                       "very poor" = "1",
                                       "poor" = "2",
                                       "fair"= "3",
                                       "good" = "4",
                                       "very good" = "5",
                                       "excellent" = "6"))
4

1 に答える 1