逗号,而不是与R的XLConnect和readWorksheet点

我正在使用XLConnect库来读取.xlsx数据以进行paneldata分析。 我的问题:如果读取数据框,我得到逗号而不是点作为小数点分隔符,我不知道为什么这是这种情况,我应该如何解决它。 我来自欧洲,但我在Excel中使用小数点。

重现一个例子是相当困难的,这里有重要的一行:

wb = loadWorkbook("Bel_PANEL_DATA.xlsx") df_price <- readWorksheet(wb, sheet="Prices", keep=c(3,10)) colnames(df_price) <- c("Year", "Price") 

一些随机线的输出是:

  Year Price 38 2000 175,1735 39 2001 196,2913 40 2002 204,3013 41 2003 251,2955 42 2004 259,8135 43 2005 265,1185 44 2006 370,9554 45 2007 367,2868 46 2008 339,0321 47 2009 348,6053 

和…

 > typeof(df_price$Price) [1] "character" 

如果我使用as.numeric我只能得到NA值(全部)…

在将它们设置为as.numeric() ,您需要将","replace为"."

 df_price$Price <- as.numeric(sub(",", ".", df_price$Price)) 
 data<-read.table(header=T,text=" Year Price 2000 175,1735 2001 196,2913 2002 204,3013 2003 251,2955 2004 259,8135 2005 265,1185 2006 370,9554 2007 367,2868 2008 339,0321 2009 348,6053") price<-paste(substr(data$Price,1,3),substr(data$Price,5,8)) library(stringr) data$Price <- as.numeric(str_replace_all(price, fixed(" "), "")) str(data)