eval(expr,envir,cenlos)中的错误:找不到对象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)
我在这里做错了什么?我得到的错误是评估中的错误(Expr,Envir,Enclos):未找到对象'Zygpar'
因此,我对a)提出的信息越来越沮丧,如果您向主管提出这个问题,则提供了比合理提供的信息,b)建议不要努力(或也许是R语言基础知识的知识。因此,我最初发布然后删除了一个评论,上面写着: Have you even looked at str(testData)?????
。
知道您正在使用哪种"对象"对于R编程至关重要(实际上可能是每种编程语言)。(所以我认为:)子集功能无法在名为 zygpar
的testdata中找到列。为什么是?我无法知道...因为我不在您的肘部,也不能要求您立即键入names(nl)
,这会告诉我nl
-Object中的有效名称。但是,由于您从nl
制作了testData
,因此我们希望testData
的名称与nl
的名称相同。因此,names
或str
将告诉您列表元素名称或data.frame列名称(因为Data.Frames只是列表的特殊形式。
因此,在一个级别上(SO级别)您"做错了"的是未能提供足够的信息。在个人上,您"做错事"的个人层面是在不研究其逻辑和语义基础的情况下研究计算机语言,并学习使您检查自己正在操纵的对象的功能和方法。
因此,这可以说是一个" as so评论",但老实说,如果您仅提供names(testData)
或str(testData)
的结果,我确实认为答案对经验丰富的R程序员很明显。