参数不是数字或逻辑:返回NA

时间:2013-09-17 03:29:00

标签: r csv

我正在尝试将csv文件导入R,我可以通过

执行此操作
Lab2x<-read.table("Lab2x.csv").  

从这里开始,我试图计算平均值,标准差,标准误差,t统计量和p值。我被教导要这样做:

xbar <- mean(Lab2x)               # calculate the sample average
sd <- sqrt(var(Lab2x))            # calculate the sample sd
se <- sd/sqrt(12)                 # calculate se of sample average
tstat <- (xbar - 2.27)/se         # calculate the t statistic
pvalue <- 2*(1-pt(abs(tstat),11)) # calculate the p-value

然而,当我尝试使用其中任何一个时,我收到错误:

警告讯息: 在mean.default(Lab2x)中:参数不是数字或逻辑:返回NA

我做错了什么/失踪了?

2 个答案:

答案 0 :(得分:3)

Lab2x是一个包含一列或多列的列表,因此期望数字向量的函数将报告它们获取的参数类型错误。尝试将Lab2x[[1]]替换为Lab2x,假设它是您感兴趣的第一列。

答案 1 :(得分:1)

在没有看到您的数据的情况下很难分辨(尝试head(Lab2x))。

我的建议是检查Lab2x的数据类型:read.table从数据构建data.frame,您的值当前被解释为character向量而非目前numeric值。它可能存在一些问题:

  • 一些列不是数字,并且警告被抛出
  • 所有列都不是数字,这意味着它很难找到数字:
    • 读取的列数是否正确?请尝试read.csv