eval(expr,envir,enclos)中的错误:object' zygpar'未找到

时间:2016-11-27 03:38:03

标签: r

eval(expr,envir,enclos)出错:找不到对象zygpar。

nl <- read.table ("hybrid2.csv", header=T, na=".")
    describe(nl, skew=F)

    # Recode Data for Analysis - Rescale variables to have variances     around    1.0
nl$orf1  <- nl$orfsummer0ppvt00
nl$orf2  <- nl$orfsummer1ppvt11
nl$nwf1   <- nl$nwfsummer1ppvt11
nl$nwf2   <- nl$nwfsummer1ppvt11
nl$fcat1    <- nl$fcat0ppvt00
nl$fcat2    <- nl$fcat0ppvt00
nl$rti1  <- nl$rtisum10
nl$rti2  <- nl$rtisum11
nl$zygpar  <- nl$zyg_par


# Select Variables for Analysis
vars      <- c('orf','nwf','fcat','rti') 
nv        <- 4       # number of variables
ntv       <- nv*2    # number of total variables
selVars   <- paste(vars,c(rep(1,nv),rep(2,nv)),sep="")

# Select Random Subset to reduce time to Fit Examples
testData  <- head(nl,n=500)

# Select Data for Analysis
mzData    <- subset(testData, zygpar==1, selVars)
dzData    <- subset(testData, zygpar==2, selVars)

我在这里做错了什么? 我得到的错误是 eval(expr,envir,enclos)中的错误:object&#39; zygpar&#39;找不到

1 个答案:

答案 0 :(得分:1)

所以我逐渐对以下问题感到沮丧:a)如果你向主管提出这个问题,提供的信息少于合理提供的信息,b)建议没有任何努力(或者可能是知识)的基础知识。 R语言。所以我最初发布并删除了一条评论:Have you even looked at str(testData)?????

知道你正在使用什么类型的“对象”是R编程的基础(事实上可能是每种编程语言)。 (所以我认为:)子集函数无法在testData中找到名为zygpar的列。那是为什么?我无法知道...因为我不在你的肘部,不能要求你立即输入names(nl),它会告诉我nl - 对象中的有效名字。但是,由于您从testData提出了nl,我们原本希望testData的名称与nl的名称相同。因此namesstr会告诉您列表元素名称或data.frame列名称(因为data.frames只是列表的一种特殊形式。

所以在一个级别(SO级别),你“做错了”是无法提供足够的信息。在个人,个人层面上,你“做错了”的是潜入计算机语言而不研究其逻辑和语义基础,并学习让你检查你正在操纵的对象的功能和方法。

所以这可能只是一个“SO评论”,但我确实相信,如果你只提供names(testData)str(testData)的结果,答案对于经验丰富的R程序员来说是显而易见的。