【问题标题】:Import CSV File Into R, in Upper Case将 CSV 文件导入 R,大写
【发布时间】:2015-10-13 16:28:58
【问题描述】:

这里是 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 文件,但宁愿避免这样做。

【问题讨论】:

    标签: r csv import read.csv toupper


    【解决方案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
        }
       ))
    

    但是,我强烈建议您不要使用 assign 以编程方式创建 data.frames。您应该将 data.frames 导入列表中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 2015-07-21
      • 2013-10-09
      • 2015-10-15
      • 2012-09-19
      相关资源
      最近更新 更多