Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R变量中的转义单引号_R_Escaping_Write.table - Fatal编程技术网

R变量中的转义单引号

R变量中的转义单引号,r,escaping,write.table,R,Escaping,Write.table,我有一个在一列中有名称的表。我有一个R脚本来读取此表,然后将.table写入CSV文件进行进一步处理。如果脚本在编写我的表时遇到带有撇号(单引号)字符的名称,例如矩阵中的“O'Reilly”,则脚本会呕吐 library(RCurl) library(RJSONIO) dir <- "C:/Users/rob/Data" setwd(dir) filename <- "employees.csv" url <- "https://obscured/employees.htm

我有一个在一列中有名称的表。我有一个R脚本来读取此表,然后将.table写入CSV文件进行进一步处理。如果脚本在编写我的表时遇到带有撇号(单引号)字符的名称,例如矩阵中的“O'Reilly”,则脚本会呕吐

library(RCurl)
library(RJSONIO)

dir <- "C:/Users/rob/Data"
setwd(dir)
filename <- "employees.csv"

url <- "https://obscured/employees.html"
html <- getURL(url, ssl.verifypeer = FALSE)
initdata <- gsub("^.*?emp.allEployeeData = (.*?);.*", "\\1", html)
initdata <- gsub("'", '"', initdata)

data <- fromJSON( initdata )

table <- list()
for(i in seq_along(data))
{
    job <- data[[i]][[1]]
    name <- data[[i]][[2]]
    age <- data[[i]][[6]]
    sex <- data[[i]][[7]]
    m <- matrix(nrow = 1, ncol = 4)
    colnames(m) <- c("job", "name", "age", "sex")
    m[1, ] <- c(job, name, age, sex)
    table[[i]] <- as.data.frame(m)
    write.table(table[[i]],file = filename,append = TRUE,sep = ",",col.names = FALSE,row.names = FALSE)
}
库(RCurl)
图书馆(RJSONIO)

dir我在第11行用双引号替换了单引号,在这个数据集中我不需要这样做。所以它不是一个名字中的一句话把事情搞砸了,而是用一个双重的话把事情搞砸了

删除此行:

initdata <- gsub("'", '"', initdata)

initdata A会有帮助。我没有看到
m[1],错误来自此代码,我更改变量名称以保护无辜者,但忘记编辑错误。是
job
name
age
、和
sex
单个值吗?是的。每个字段中只有一个值。
initdata <- gsub("'", '"', initdata)