我正在尝试从特定文件夹导入一些csv文件:
setwd("C://Users//XYZ//Test")
filelist = list.files(pattern = ".*.csv")
datalist = lapply(filelist, FUN=read.delim, sep = ',', header=TRUE,
stringsAsFactors = F)
for (i in 1:length(datalist)){
datalist[[i]]<-cbind(datalist[[i]],filelist[i])
}
Data = do.call("rbind", datalist)
使用上面的代码后,尽管包含数字,但仍有几列类型为character
。如果我不使用stringsAsFactor = F
,则这些字段读为factor
,当我以后使用as.numeric(as.character())
时,这些字段将变成缺少的值。
有什么解决方法可以使某些字段保留为numeric
吗?我想作为numeric
的字段如下所示:
Price.Plan Feature.Charges
$180.00 $6,307.56
$180.00 $5,431.25
谢谢
答案 0 :(得分:2)
$
,,
不被视为numeric
,因此在stringsAsFactors = FALSE
中使用read.delim
时,它将列类型分配为{{1} }。要进行更改,请用character
删除$
,,
,转换为gsub
并将其分配给特定的列
numeric