【问题标题】:CSV imported data table is not possible to use for histogram plotCSV 导入的数据表不能用于直方图
【发布时间】:2019-02-27 11:37:21
【问题描述】:

我在 Excel 中创建了自己的名为 Kwality.csv 的数据集,当我执行上面的代码时,我无法获得相同数据的直方图,并且它给我这样的错误:

hist.default(mydata) 中的错误:“x”必须是数字

library(data.table)
mydata = fread("Kwality.csv", header = FALSE)
View(mydata)
hist(mydata)

【问题讨论】:

  • mydatadata.frame/data.table 而不是单个数字变量。你的意思可能是hist(mydata$variablename)
  • 还是不行
  • 您将不得不提供更多信息。检查is.numeric(mydata$variablename) 并确保您的变量实际上是数字。例如,hist 在提供正确的输入 hist(mtcars$mpg) 时绝对有效。
  • library(data.table) mydata = fread("Kwality.csv",header = FALSE) View(mydata) hist(mydata) 这是我做的唯一代码和我拥有的 csv 文件在 excel 中创建并在 R 中导入以检查我的个人报告的直方图
  • 您必须指定要绘制的变量/列。 hist(mydata) 将不起作用,但 hist(mydata$variablename) 其中variablename 是对您的数字列之一的引用。注意$之后的位。

标签: r data.table histogram


【解决方案1】:

我试图重现您的工作流程并将 xlsx 文件导出为 csv 文件(使用导出到逗号分隔文件)。

首先,您应该检查使用哪种字符来分隔变量和小数位。就我而言,对于变量分隔,它是; 分号,小数位是“,”逗号。

然后您应该选择列,该列将用于带有函数[[]] 的直方图。数据表本身不是hist 函数的有效参数。请看下图。

见下文:

考虑到这一点,你会执行你的代码:

library(data.table)
# load csv generatd by NORMSINV(RAND()) in Excel
mydata = fread("check.csv",header = FALSE, sep = ";", dec = ",")
mydata

#hist(mydata)
# Error in hist.default(mydata) : 'x' should be numeric
# does not work

# access by column, e.g. third colum - OK
hist(mydata[[3]])

输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多