我对R来说很新,但是直到现在才存储值。我试图获取'data'中第二列的值,并以它们当前所在的格式将它们存储在symbolList中(用引号,逗号分隔)。谢谢!
library(quantmod)
symbolList <- c("DLX", "SWK", "AGN", "SKX", "GE", "ZOES", "NVCR", "FRT", "ENLK", "PYPL", "TXMD", "PLAY", "NWL",
"JAH")
## ALTERNATIVE symbolList <- paste(c("'",paste(d[,2],collapse="','"),"'"),collapse="")
## ALTERNATIVE symbolList <- c(cat(paste(shQuote(( d[,2]), type="cmd"), collapse=", ")))
results <- NULL
for (ii in symbolList){
data1 <- getSymbols(Symbols = ii,
src = "yahoo",
from = Sys.Date() - 150,
auto.assign = FALSE)
de = head(data1,100)
colnames(de) <- c("open","high","low","close","volume","adj.")
overnightRtn <- (as.numeric(de[2:nrow(de),"open"])/as.numeric(de[1: (nrow(de)-1),"close"])) - 1
results <- rbind(results,cbind(
paste(round(sum(overnightRtn,na.rm=TRUE),2),"%",sep="")))
}
colnames(results) <- c("overnightRtn")
rownames(results) <- symbolList
View(results)
答案 0 :(得分:4)
这里有几件事。
如果您想将data.frame character
列的内容存储在vector
变量中,只需执行
symbolList <- data[,2]
如果您想存储整个character
列,只有一个空格分隔的character
变量,那么
symbolList <- paste(data[,2],collapse=" ")
然而,它们将是空间分离的。
如果您要存储整个character
列,请在一个仅逗号分隔的character
变量中引用,然后尝试
symbolList <- paste(c("'",paste(data[,2],collapse="','"),"'"),collapse="")
cat
是输出函数。
shQuote
(来自?shQuote
)“引用要传递给操作系统shell的字符串”,我不知道为什么你现在需要它。
编辑:
如果您要将整个character
列,所有 double - 分别存储在一个逗号分隔的character
变量中,请执行以下操作:
toto <- letters[1:3] # Define a character vector
symbolList <- paste(c("\"",paste(toto,collapse="\",\""),"\""),collapse="")
symbolList
#[1] "\"a\",\"b\",\"c\""
cat(symbolList)
#"a","b","c"
现在,我必须说,根据我的经验,任何功能都不太可能需要这种输入。