我正在尝试从我拥有的一个Excel文件中提取数据。但是,R将某些数据以DateTime格式而不是数字格式放置,即使数据在Excel中是数字(数据是自定义格式,并且在应用常规格式时也似乎是数字)。我试图通过'as.numeric()'函数来更改它,但是没有用。用于上述任务的代码如下:
library(readxl)
l<-as.data.frame(read_excel(choose.files(),sheet=2,range="C6:BG123"))
vec1<-c("t",rep("n",ncol(l)-1))
#Changing columns to the appropriate format
for(j in 1:length(vec1)){
if(vec1[j]=="t"){
l[,j]<-as.character(l[,j])
}else if(vec1[j]=="n"){
l[,j]<-as.numeric(l[,j])
}
此代码后的最终输出是具有巨大数值的数据,而不是Excel中显示的实际数字。
excel数据可以在这里找到:https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/01/20190110-NHS-111-MDS-time-series-to-December2018-1.xlsx
我想知道我错了,如果这与excel中数据的初始格式有关,那么在导入数据之前如何将Excel中的格式从R更改为“常规”。
答案 0 :(得分:1)
通过设置函数的read_excel()
参数来强制col_types
读取正确的格式。