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;找不到
答案 0 :(得分:1)
所以我逐渐对以下问题感到沮丧:a)如果你向主管提出这个问题,提供的信息少于合理提供的信息,b)建议没有任何努力(或者可能是知识)的基础知识。 R语言。所以我最初发布并删除了一条评论:Have you even looked at str(testData)?????
。
知道你正在使用什么类型的“对象”是R编程的基础(事实上可能是每种编程语言)。 (所以我认为:)子集函数无法在testData中找到名为zygpar
的列。那是为什么?我无法知道...因为我不在你的肘部,不能要求你立即输入names(nl)
,它会告诉我nl
- 对象中的有效名字。但是,由于您从testData
提出了nl
,我们原本希望testData
的名称与nl
的名称相同。因此names
或str
会告诉您列表元素名称或data.frame列名称(因为data.frames只是列表的一种特殊形式。
所以在一个级别(SO级别),你“做错了”是无法提供足够的信息。在个人,个人层面上,你“做错了”的是潜入计算机语言而不研究其逻辑和语义基础,并学习让你检查你正在操纵的对象的功能和方法。
所以这可能只是一个“SO评论”,但我确实相信,如果你只提供names(testData)
或str(testData)
的结果,答案对于经验丰富的R程序员来说是显而易见的。