カテゴリ:データ分析
前回の投稿から、スクリプトの修正を行い、データを縦持ち(ロング型)に変更するスクリプトを追加しました。
下記のスクリプトがデータを縦持ちにする処理です。 1行ごとにデータの説明項目と数値項目が記述されているデータ形式にすることで、BIツールなどで利用しやすくなります。 df_smr1 <- df_smr %>% pivot_longer( cols = starts_with("SMR"), names_sep= "_", names_to = c("SMR","死因1","死因2","性別"), values_to = "SMR_" ) ↓この形式のデータに整形すれば、データポータルに読み込むまであともう少しです。地域名が「01北海道」のように「数字+地域名」となっているので、数字と地域名に分ける処理する必要があります。 数字のコードと地域名の文字列はあらかじめ2列に分割しておいてもらいたいものですが、よくわからないデータの仕様です。 下記のスクリプトで、地域の列の数字+地域名から数字を抜き出して別の列を作成し、抜き出した後で地域の列の数字を削除しました。分割処理がスマートですが、方法が不明だったため、とりあえず単純な処理の組み合わせで対応しています。後で、正規表現を使っで数字と文字を表して分割処理する方法を調べてみようと思います。 df_smr3 <- mutate(df_smr2,str_extract_all(df_smr2$"地域", "[0-9.]+")) df_smr4 <- rename(df_smr3,"地域No"= 6) df_smr4$"地域" <- str_replace_all(df_smr4$"地域" ,"[0-9.]+","") df_temp_smr <- read_excel("hyo5_h2529.xlsx",col_names = FALSE,skip = 5,n_max = 3) df_temp_smr view(df_temp_smr) df_temp_smr0 <- df_temp_smr %>% fill(everything()) temp_colname <- tibble( a1=as.character(df_temp_smr0[1,]), a2=as.character(df_temp_smr0[2,]), a3=as.character(df_temp_smr0[3,]), ) %>% mutate(SMR = "SMR") %>% select(SMR,everything()) view(temp_colname) colname <- fill(temp_colname,everything()) %>% unite(col = "name",everything()) %>% .$name colname <- str_replace_all(colname," ","") colname <- str_replace_all(colname," ","") colname <- str_replace_all(colname," ","") colname <- c("地域",colname) view(colname) df_smr <- read_excel("hyo5_h2529.xlsx",col_names = colname,skip = 8) view(df_smr) df_smr1 <- df_smr %>% pivot_longer( cols = starts_with("SMR"), names_sep= "_", names_to = c("SMR","死因1","死因2","性別"), values_to = "SMR_" ) df_smr2 <- df_smr1 %>% unite(col = "死因","死因1","死因2" ) view(df_smr2)
df_smr3 <- mutate(df_smr2,str_extract_all(df_smr2$"地域", "[0-9.]+")) df_smr4 <- rename(df_smr3,"地域No"= 6) df_smr4$"地域" <- str_replace_all(df_smr4$"地域" ,"[0-9.]+","") view(df_smr4) お気に入りの記事を「いいね!」で応援しよう
Last updated
2022.11.16 08:04:48
コメント(0) | コメントを書く
[データ分析] カテゴリの最新記事
|
|