R封装geomorph函数procd.lm无法识别我的数据帧(geomorph.data.frame)

时间:2019-04-10 15:27:36

标签: r

我正在尝试使用最新版本的Geomorph(3.1.1)的RRPP衬里模型函数(procd.lm)分析某些几何形态数据。但是,此函数似乎认为我的数据框(包括GPA结果和一些分组变量为空)(“数据”必须是向量类型,为“ NULL”)。但是,geomorph中的其他功能很乐意使用它。我很困惑。

我执行了GPA以获得对齐的形状坐标,然后按照geomorph文档中所示的方式使用geomorph.data.frame组装了数据框。该数据框具有GPA的结果以及另一个(常规)数据框中的一些变量,这些变量包含我读取的CSV文件中的数据。geomorph将允许某些操作(例如,使用plotTangentspace进行绘制),但不允许运行procD.lm模型-只是继续在下面提供错误消息。我检查了CSV和数据框中的所有内容,但找不到丢失的值或类似内容。

初步模型拟合...   | ================================================= ===== |数组(x,c(length(x),1L),如果(!is.null(names(x)))list(names(x),:   “数据”必须是向量类型,为“ NULL”

加载geomorph包

图书馆(地貌)

读入TPS文件和滑块文件

Jars <-readland.tps(“ append_final.TPS”,specID =“ imageID”,readcurves = FALSE)

滑块<-as.matrix(read.csv(“ curveslidePat.csv”,标头= TRUE))

执行广义过程对齐(GPA),然后可视化

Jars_GPA <-gpagen(Jars,曲线=滑块,ProcD = FALSE) plotAllSpecimens(Jars_GPA $ coords)

读入具有与TPS文件相同的物种ID的文件

Sp_IDs.df <-as.data.frame(read.csv(“ Alldata.csv”,标头= TRUE))

使用GPA和物种ID中的数据创建新的数据框

Jars_GDF <-geomorph.data.frame(Jars_GPA,Sp_ID = as.factor(Sp_IDs.df $ Species),ID = as.factor(Sp_IDs.df $ ID),                               Jar = as.factor(Sp_IDs.df $ Jar),处理= as.factor(Sp_IDs.df $ Treatment),                               Sp_T = as.factor(Sp_IDs.df $ Sp_T))

可视化PCA

plotTangentSpace(Jars_GDF $ coords,groups = col.SpID,图例= TRUE)

在pop.ID/种类上执行形状坐标的procrustes-distance线性回归(procD.lm)

Jars_procDlm <-procD.lm(坐标〜Csize + Jar + Sp_ID *处理,iter = 999,                          print.progress = TRUE,RRPP = TRUE,数据= Jars_GDF)

摘要(Jars_procDlm)

应该运行模型并提供方差分析表等。

0 个答案:

没有答案