当我尝试从Excel将数据导入R Studio时,数字列将作为R中的Logical导入。
是否可以将这些列作为数字导入R中? Excel中的列已被格式化为数字。
我正在使用read_excel
导入文件。
我要导入的电子表格有80列。
答案 0 :(得分:3)
使用col_types
并明确指定列类型。
read_excel(path, sheet = 1, col_names = TRUE, col_types = c("text","numeric","date"), na = "", skip = 0)
https://www.rdocumentation.org/packages/readxl/versions/0.1.1/topics/read_excel
答案 1 :(得分:0)
由于您没有提供数据集作为示例,因此我提出了以下数据集:
df <- structure(list(`1_a` = c(1212, 1221, 32432), `2_a` = c(121, 123, 3), `3_a` = c(34, 343, 232),
`4_a` = c(65, 23, 123), `5_a` = c(34, 432, 1)), row.names = c(NA, -3L),
class = c("tbl_df", "tbl", "data.frame"))
数据集都是数字的,列名以数字开头。
使用以下代码,我能够读取excel文件,同时保留列名不变(test.xlsx是上述数据集的示例):
library(readxl)
df <- read_excel("test.xlsx", sheet = 1, col_names = TRUE)
答案 2 :(得分:0)
我遇到了完全相同的问题,由于保密政策,我无法提供excel文件。但是,我在jennybc在here中的github中找到了解决方案,并在其中发布了内容:
“但是我想您在此顶部有很多空白值 工作表。看起来该列被认为是合乎逻辑的,并且 任何既不是NA也不是零的东西都变成了TRUE。如果我的诊断 是正确的,您应该指定所需的列类型 (在这种情况下,可能是数字)或将guess_max增加到某种程度 高于默认值1000。”
文件格式有所更改时,我接受了guess_max
的建议,此行为我解决了这个问题:
temp.data <- read_xlsx(filepath, sheet = 1, guess_max = 10000)