0

初心者Rユーザーはこちら...

以下のコードを使用して、フォルダー内のすべての csv ファイルをインポートしています。

path <- "C:/Users/Daniel/Desktop/Motors/"
files <- list.files(path=path, pattern="*.csv")
for(file in files)
{
  perpos <- which(strsplit(file, "")[[1]]==".") 
  assign(
    gsub(" ","",substr(file, 1, perpos-1)), 
    read.csv(paste(path,file,sep="")))
}

これらの CSV ファイルは、実際にはコードの後半でルックアップ テーブルとして機能します。ユーザー エラーを回避するために、ファイルのインポート時に各データフレーム内の文字データ (見出しではない) を大文字に変換できるかどうかに興味があります。

もちろん、各 csv ファイルを手動で変更することもできますが、これは避けたいと思います。

4

1 に答える 1

1

解決策は次のとおりlapply toupperです。インポート時に data.frame 内の各文字変数に。

assign(
  gsub(" ","",substr(file, 1, perpos-1)), 
  lapply(read.csv(paste(path,file,sep="")),
    function(x) {
      if(class(x) == "character") toupper(x)
      else if(is.factor(x)) factor(toupper(x))
      else x
    }
   ))

ただし、割り当てを使用してプログラムで data.frames を作成しないことを強くお勧めします。リスト内に data.frames をインポートする必要があります。

于 2015-10-13T16:40:26.180 に答える