【问题标题】:Read in Excel column with numbers and characters to R将带有数字和字符的 Excel 列读入 R
【发布时间】:2017-10-10 02:55:12
【问题描述】:

我正在尝试使用read_excel(它是一个xlsx 文件)将一个excel 文件读入R,我有包含字母和数字的列,例如P765876 之类的东西。这些列也有只有数字的单元格,即234654,所以当它读入R时,它读作一个未知(不是字符或数字),但这意味着它给任何具有字母和数字的单元格的值NA,如何正确读入?

我现在的代码是

tenant<-read_excel("C:/Users/MPritchard/Repairs Projects/May 2017/Tenant Info/R data 1.xlsx")

【问题讨论】:

  • 无法重现您的错误......无论是使用来自readxlread_excel 还是来自xlsxread.xlsx。使用第一个选项,我的包含"P1", "123", "P1235", "2352154" 的列以chr 类型读取,第二个选项为factor。通过提供一些示例数据,可以更轻松地为您提供帮助。
  • 另见col_types 参数...
  • @wolf_wue 您是否将其作为唯一的专栏阅读?我有多个不同变化的列,一些字符,一些数字,一些混合,我的问题是混合的不读取带有字符的值?

标签: r excel character numeric


【解决方案1】:

还建议使用 col_types 参数,通过将其指定为“文本”,您应该避免强制引入 NA。所以你的代码会是这样的:

tenant<-read_excel("C:/Users/MPritchard/Repairs Projects/May 2017/Tenant Info/R data 1.xlsx", col_types = "text")

如果这解决了您的问题,请告诉我。 问候, /迈克尔

【讨论】:

  • 当我输入上面的代码时,我收到错误:read_xlsx_中的错误(路径,工作表,col_names = col_names,col_types = col_types,:每列需要一个名称和类型
  • 这很奇怪。当只提供一个值时, col_types 参数应该在所有列上重申这一点。但是,当给定一个向量时,该向量的长度必须与列数匹配。我假设您也在使用 1.0.0 版的 readxl?
  • 根据您的 excel 文件的结构,这可能可以解决您的问题:stackoverflow.com/a/34015430/7932155
【解决方案2】:

不是一个真正的答案,但太多的评论......

1:

> library(xlsx)
> tenant <- read.xlsx("returns.xlsx", sheetIndex = 1)
> str(tenant)
'data.frame':   9 obs. of  3 variables:
 $ only_integer: num  1 2 34 5 546931 ...
 $ int_char    : Factor w/ 9 levels "2545","2a","2d",..: 6 4 9 3 5 1 7 2 8
 $ only_char   : Factor w/ 6 levels "af","dd","e",..: 2 1 5 6 3 2 4 3 1

2:

> library(readxl)
> tenant2 <- read_excel("returns.xlsx")
> str(tenant2)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   9 obs. of  3 variables:
 $ only_integer: num  1 2 34 5 546931 ...
 $ int_char    : chr  "d5" "5" "ff2ad2f" "2d" ...
 $ only_char   : chr  "dd" "af" "h" "ha" ...

int_char 列是两者的混合,以数字或字符开头/结尾

【讨论】:

  • 我真的不能这样做,因为我必须手动输入所有数据,而且我有 60,000 多个观察值。我可能会尝试单独阅读它,然后将其合并。不过感谢您的建议!
猜你喜欢
  • 2022-07-12
  • 1970-01-01
  • 2017-12-27
  • 1970-01-01
  • 2018-07-24
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
  • 2016-03-18
相关资源
最近更新 更多