2024年10月24日木曜日

read.xlsx( )

午前
・卒論手伝い
・データ解析
・個人ゼミ

午後
・データ解析
・個人ゼミ
・研究相談

Rでxlsxファイルを読み込んだ時に生じた不具合メモ。

これまではcsvをread.csv( )やread_csv( )で読み込んでいた。

ただ、データがどうしても一つのファイルにまとめられない場合、csvだと複数のファイルとして保存せざるを得ない。2〜3つなら良いけど、それよりも多い場合は、xlsxのシートの方が整理しやすい。

ということで、最近はxlsxから直接読み込むことも多くなった。xlsxファイルを読み込みは、library(openxlsx)のread.xlsx( )を使っている。

使い方はread.csv( )と同じ。
library(openxlsx)
read.xlsx(data)
ただ、この方法で読み込んだデータをdplyr::filter( )で処理をすると「! Can't transform a data frame with duplicate names.」とエラーが出ることがある。

同じ名前が複数あったらダメなの?とか考えたけど、そいうことでもないもみたい。

このサイトによると、data.frame( )を介せば解消されるそうだ。

私も同様に改善された。ということで、最近は
library(openxlsx)
data.frame(read.xlsx(data))
として読み込んでいる。

参考にしたサイト
can't transform a data frame with duplicate names mutate() function in dplyr