R不将值导入为数字

时间:2019-02-07 11:14:56

标签: r type-conversion

基本数据是使用SQL查询生成的,其目的是在R中处理数据。但是,尽管从.csv.xlsx导入,R仍将数字作为字符导入,尽管更改了内置import工具中的数据类型。此外,在执行基本算术运算时,遇到以下错误:  In Ops.factor((data$A), (data$B)) :‘/’ not meaningful for factors

有解决此问题的简单方法吗?

  • 使用str()函数分析了数据集,该函数显示R将特定列导入为factors
  • 使用软件包varhandle和函数unfactor来取消数据分解
  • as.numeric用于某些列,其读为characters而不是factors
  • 在导入之前尝试在Excel中更改数据类型

    data$A <- unfactor(data$A)

    data$B <- unfactor(data$B)

    data$PERCENTAGE <- (data$B)/(data$A)*100

R可以按照指定的数据类型导入数据吗?

谢谢您的帮助!

1 个答案:

答案 0 :(得分:2)

对于csv文件,我建议使用Hadley Wickham出色的read_csv中的Tidyverse package。它具有智能的默认值,可以应付我要处理的大多数事情。

对于.xlsx,还有read_excel,也来自Tidyverse软件包(还有其他可用软件包)。 或者,也可以从Excel内导出.csv并使用read_csv。

[请注意,Tidyverse会将这些文件导入为“ tibble”,这本质上是类固醇的数据框架,没有一些麻烦,但如果愿意,可以轻松转换为data.frame。]