只保留某些列。。eval(expr、envir、enclose)中出错:找不到对象

只保留某些列。。eval(expr、envir、enclose)中出错:找不到对象,r,dataframe,knitr,sweave,R,Dataframe,Knitr,Sweave,当我运行以下代码块时,我得到了错误:eval(expr、envir、enclose)中的错误:找不到对象“x”。这是指最后一行。我对R的这部分有点陌生,不知道怎么了。在阅读了data.frame的文档之后,语法似乎是正确的,但我现在不太确定 我正在使用Windows8机器,并使用Swave和knitr在RStudio中运行代码 <<read.file,message=FALSE>>= library(RCurl) library(xtable) #READ DATA co

当我运行以下代码块时,我得到了错误:eval(expr、envir、enclose)中的错误:找不到对象“x”。这是指最后一行。我对R的这部分有点陌生,不知道怎么了。在阅读了data.frame的文档之后,语法似乎是正确的,但我现在不太确定

我正在使用Windows8机器,并使用Swave和knitr在RStudio中运行代码

<<read.file,message=FALSE>>=
library(RCurl)
library(xtable)
#READ DATA
con <- getURL("URLforCSVdownloadHere")
x <- read.csv(textConnection(con),stringsAsFactors=FALSE)
@

<<clean.file,message=FALSE>>=
#REPLACE SYMBOLS
x <- as.data.frame(sapply(x,function(x) {gsub("\\$", "\\\\$", x)}),stringsAsFactors=FALSE)
x <- as.data.frame(sapply(x,function(x) {gsub("\\%", "\\\\%", x)}),stringsAsFactors=FALSE)
x <- as.data.frame(sapply(x,function(x) {gsub("\\&", "\\\\&", x)}),stringsAsFactors=FALSE)
x <- as.data.frame(sapply(x,function(x) {gsub("\\#", "\\\\#", x)}),stringsAsFactors=FALSE)
x <- as.data.frame(sapply(x,function(x) {gsub("\\^", "\\\\^", x)}),stringsAsFactors=FALSE)
x <- as.data.frame(sapply(x,function(x) {gsub("\\_", "\\\\_", x)}),stringsAsFactors=FALSE)
#RENAME COLUMNS
colnames(x)[2] <- "Student.Id"
@

<<project.list,include=FALSE>>=
spx <- x[,c(1,9,3,2,10)]

#split
spx <- split(spx,spx$Section)

#row.num func
rnum <- function(x){as.numeric(rownames(x))}

#table func
printProjectList <- function(project.list,i){
  project.list <- project.list[[i]]
  row.names(project.list)<-NULL
  color.rows <- seq(1, nrow(project.list), by=2) 
  print(xtable(project.list, align=c("c","p{2.0cm}","p{1in}","c","p{1in}","p{2in}")), booktabs=TRUE, 
   add.to.row = list(pos = as.list(color.rows), command = rep("\\rowcolor[gray]{0.9}",length(color.rows))))
}
@
=
图书馆(RCurl)
图书馆(xtable)
#读取数据

con
sapply(x,函数(x)…)
可能有问题。尝试使用不同的变量列表
sapply(x,函数(a)gsub(…,a))
当我创建一些虚拟数据,然后编辑您的文档时,我没有收到错误消息。也许问题与你的数据有关。你能让你的数据可用吗(例如通过提供“URLforCSVdownloadHere”)?@Stibu这个url是@RichardScriven我不确定你所说的不同变量列表是什么意思,只有一个数据集,我正试图用这些命令清除所有数据。我现在设法得到你的错误消息。原因是(至少在我的例子中)您的第一个块(其中定义了
x
)根本不是块,因为它在开始时遗漏了
=
。在第二个块中,
x
是未定义的。此外,您应该在最后一行代码后添加一个
@
。最后一点:我必须将URL更改为。