新手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文件,但宁愿避免这样做。
答案 0 :(得分:1)
以下是导入时data.frame中每个字符变量的解决方案:lapply
toupper
。
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。