0

私の質問は、多くのファイルからのデータを読み込むときに、さまざまな列のクラスを指定する方法についてです。具体的には、一度に数千の.xlsxファイルをアップロードし、パッケージ 内のread.xls()関数を使用してそれらを.csvファイルに変換しています。gdata

私のアプローチは次のとおりです。

Myfiles<-list.files() # lists all files in working directory (which contains data files)
library(gdata)
Mylist <- lapply(Myfiles, read.xls, header=T,
    perl="C:/Users/A/PERL/perl/bin/perl.exe",
    sheet=1,
    method="csv",
    skip=1,
    as.is=1)

実行可能な例を提供しなかったことをお詫び申し上げます。この問題に対してどうすればよいかわかりません。

すべての.xlsxファイルには同一のヘッダーと設定がありますが、内部のデータフレーム内の対応する列のクラスはMylistすべて同じではありません。 私が使用しているアプローチ内でクラスを指定する方法はありますか?lapply()read.table()to の関数を拡張できることは知っていますが、呼び出しread.xls()内で列クラスを適切に指定する方法がわかりません。lapply

4

1 に答える 1

1

それはすべてガボールのコメントにありますが、これを寝かせるには:

lapply(Myfiles, read.xls, colClasses = c("character", "numeric", "factor"), header=T)
于 2012-11-11T12:00:12.733 に答える