ホーム>source

lapply を使用してExcelからRに複数のファイルを読み込んでいます 。ファイルの一部が data を持っていることに気付いた   logical として読み込まれる列   numeric ではありません 。

col_types を使用したい   read_xls の引数 、しかし、私のファイルは異なる数の列を持っているので、名前でそれらを呼び出したいです。

どのようにこれを行うことができますか? これは私が現時点でデータをインポートする方法です:

file_list=list.files(file_location, pattern="^ID.*xls",full.names = T) 
import=lapply(file_list, function(x) read_xls(x, col_names = T))

あなたの答え
  • 解決した方法 # 1

    さまざまな col_type を含むリストを定義できます  各着信Excelファイルに適用するベクトル。次に、 lapply を使用します  これらのフォーマットベクトルにアクセスするためのインデックス付き:

    cols <- list(c("logical", "numeric", "text"), c("logical", "numeric"))
    lapply(seq_along(file_list), function(y, n, i) {
        read_xls(x, col_names=TRUE, col_types=cols[[i]])
    }, y=file_list, n=names(file_list))
    
    

    基本的な前提が機能することを示す小さなデモについては、以下のリンクに従ってください。

    デモ

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ MongoDBのタイムゾーンクエリ