我正在尝试导入一些带有字段数据的 csv 文件,以将多个 csv 文件合并为一个。 我的目标是只有数字列。
不幸的是,R 将某些列的所有值替换为“0”。 我相信这与数据文件中的某些缺失值或列中的错误字符有关。这种情况发生在“A”、“Ca”、“Ci”上。
当我检查 str() 函数时,我可以看到大多数作为字符导入的列只显示零,而不是原始 csv 中的值。
这是我目前拥有的代码:
licor6800.point_measurement.compiler<-function(){
filenames <- list.files(pattern="*.csv", full.names=TRUE)
for (filename in filenames) {
meas<-read.csv(filename, skip = 13, fileEncoding="utf-16LE", check.names=T, header = TRUE)[-1:-2,]
list<-cbind(filename, meas)
list<-list%>%select("filename","date","A","Ca", "Ci","E", "CO2_s", "CO2_r", "Qin", "gsw","gtc", "Pa","Qin","RHcham","Tleaf", "PhiPS2", "Fo", "Fm", "Fv/Fm", "Adark", "Fs", "Fm",)%>%
mutate("date" = str_split_fixed(list$date, "[:blank:](?=\\d)", 2)[,1])%>%
mutate("date" = str_sub(date,start = 5))%>%
mutate("Time" = str_split_fixed(list$date, "[:blank:](?=\\d)", 2)[,2])%>%
rename("Date" = date )
list$Date<- sub("(?<=^..)", "\\.", list$Date, perl=TRUE)
completeA6800 <- if(exists('completeA6800') == TRUE){rbind(completeA6800, list)} else{list}
}
return(completeA6800)
}
#View(completeA6800)
str(completeA6800)
我尝试使用 as.numeric 函数,na.strings = "NA", stringsAsFactors=FALSE, FUN=as.numeric.
我会非常感谢一些建议。 提前致谢!