R数据帧问题阻止正常性测试

R数据帧问题阻止正常性测试,r,dataframe,R,Dataframe,我已经读取了我的.CSV文件,然后使用以下几种方法将文件转换为数据帧: df<-read.csv('cdSH2015Fall.csv', dec = ".", na.strings = c("na"), header=TRUE, row.names=NULL, stringsAsFactors=F) df<-as.data.frame(lapply(df, unlist)) # converted .csv to a a data.frame str(df) # provid

我已经读取了我的.CSV文件,然后使用以下几种方法将文件转换为数据帧:

df<-read.csv('cdSH2015Fall.csv', dec = ".", na.strings = c("na"), header=TRUE, 
row.names=NULL, stringsAsFactors=F)


df<-as.data.frame(lapply(df, unlist)) # converted .csv to a a data.frame

str(df) # provides the structure of df. 
'data.frame':   72 obs. of  16 variables:
 $ trtGroup            : Factor w/ 68 levels "AANN","AAPN",..: 5 7 14 18 20 23 
27 33 37 48 ...
 $ cd                  : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ PreviousExp         : Factor w/ 2 levels "Empty","Enriched": 2 1 2 2 2 2 1 
1 1 1 ...
 $ treatment           : Factor w/ 2 levels "NN","PN": 1 1 1 1 1 1 1 1 1 1 ...
 $ total.Area.DarkBlue.: num  827 1037 663 389 983 ...
 $ numberOfGroups      : int  1 1 1 1 1 1 1 1 1 1 ...
 $ totalGroupArea      : num  15.72 2.26 9.45 11.57 9.73 ...
 $ averageGrpArea      : num  15.72 2.26 9.45 11.57 9.73 ...
 $ proximityToPlants   : num  5.65 16.05 2.58 9.65 4.74 ...
 $ latFeed             : num  2 0.5 0 1 0 0 1 0.5 2 1 ...
 $ latBalloon          : num  6 2 2 NA 0 0.1 3 0.5 1 0.7 ...
 $ countChases         : int  5 8 16 4 16 21 18 11 14 28 ...
 $ chases              : int  95 87 67 923 636 96 1210 571 775 816 ...
 $ grpDiameter         : num  16.8 23.3 19.5 11.2 29.9 ...
 $ grpActiv            : num  4908 5164 4197 5263 5377 ...
 $ NND                 : num  0 11.88 8.98 3.6 9.8 ...
第二个选择是确保我有一个正确的数据帧

  • 将数据子集,然后创建一个矩阵

     cdProximityToPlantsPN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==1 & cdSH2015Fall$treatment == 'PN')]
    H2ProximityToPlantsPN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==0 & cdSH2015Fall$treatment == 'PN')]
    
    cdProximityToPlantsNN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==1 & cdSH2015Fall$treatment == 'NN')]
    H2ProximityToPlantsNN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==0 & cdSH2015Fall$treatment == 'NN')]
    

    我知道问题一定出在我的数据结构上。关于如何修复它有什么想法吗?

    ?car::outlierTest
    说它需要一个lm或glm对象
    t.test
    不会产生这两个。除了@blindjesse指出的以外,read.csv会立即产生一个数据帧,为什么它
    unlist
    ed?@blindjesse,是的,关于汽车测试你是对的。我不明白qqPlot为什么不工作?@R.S.是的,我以为read.csv会产生一个data.frame。我不知道为什么qqPlot说我有一个“列表”。因为我在运行qqPlot时遇到了“list”错误,所以我认为read.csv没有创建正确的“data.frame”。这是因为您正在将
    t.test
    输出传递到
    QQQplot
    ,并且它可能正在取消分类并获取列表。您可能想在数据框中qqplot一些特定的列,是吗?
     cdProximityToPlantsPN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==1 & cdSH2015Fall$treatment == 'PN')]
    H2ProximityToPlantsPN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==0 & cdSH2015Fall$treatment == 'PN')]
    
    cdProximityToPlantsNN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==1 & cdSH2015Fall$treatment == 'NN')]
    H2ProximityToPlantsNN<-cdSH2015Fall$proximityToPlants[which (cdSH2015Fall$cd==0 & cdSH2015Fall$treatment == 'NN')]
    
    df<- 
      cbind(cdProximityToPlantsPN,H2ProximityToPlantsPN,cdProximityToPlantsNN, 
    H2ProximityToPlantsNN)
    mat <- sapply(df,unlist)
    fit=t.test(mat[,1],mat[,2], paired = F, var.equal = T)
    
    outlierTest(fit) # Bonferonni p-value for most extreme obs
    Error in UseMethod("outlierTest") : 
      no applicable method for 'outlierTest' applied to an object of class 
     "htest"
    qqPlot(fit, main="QQ Plot") #qq plot for studentized resid 
    Error in order(x[good]) : unimplemented type 'list' in 'orderVector1'
    leveragePlots(fit) # leverage plots
    Error in formula.default(model) : invalid formula