2759970 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

One of my favorite things is ...

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2022.11.03
XML
カテゴリ:データ分析
前回の投稿から、スクリプトの修正を行い、データを縦持ち(ロング型)に変更するスクリプトを追加しました。

下記のスクリプトがデータを縦持ちにする処理です。
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.]+","")

<R言語のスクリプト例>
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) | コメントを書く


PR

Recent Posts

Free Space







Rebatesお友達紹介キャンペーン

​​​​

Category

Archives

Comments

digital_21@ Re[1]:◆【新型コロナ】やっぱり、PCR検査(08/02) 背番号のないエース0829さんへ すてきな内…
背番号のないエース0829@ Re:◆【新型コロナ】やっぱり、PCR検査 「日本一遅い成人式が、無事終了 !!」に、…

Keyword Search

▼キーワード検索

Rakuten Card


© Rakuten Group, Inc.
X