在R中我有一个函数“getHbasedPortfolio”。功能的主体如下:
body("getHbasedPortfolio")
{
className <- name
pf = list(name = name,
get = function(x) pf[[x]],
set = function(x,value) pf[[x]] <- value
)
pf$getCash = function(date) {
data <-data.frame(name=name,value="null")
return(data)
}
pf$setCash = function(cash, date) {
a <- insertCashTable(pf$name, cash, date)
return("success")
}
pf <- list2env(pf)
class(pf) <- name
return(pf)
}
我需要用逗号分隔每一行。所以我写了一个代码来做到这一点。 我使用的代码如下:
body <-"";
for(i in 1:length(as.character(body("getHbasedPortfolio")))){
body <- paste(body,as.character(body("getHbasedPortfolio"))[i])
body <- paste(body,";")
}
现在我得到以下输出。
体 [1]“{; className&lt; - name; pf = list(name = name,get = function(x)pf [[x]],set = function(x,value)pf [[x]]&lt; - value); pf $ getCash = function(date){\ n data&lt; - data.frame(name = name,value = \“null \”)\ n return(data)\ n}; pf $ setCash = function(现金,日期){\ na&lt; - insertCashTable(pf $ name,cash,date)\ n return(\“success \”)\ n}; pf&lt; - list2env(pf); class(pf)&lt; - name; return(pf);“
问题是pf $ setCash和pf $ getCash下的语句没有用逗号分隔。 我怎样才能克服这个问题?
答案 0 :(得分:2)
您可以使用以下内容:
dat <- data.frame(capture.output(getHbasedPortfolio))
这将通过data.frame中的一行保存您的功能行。然后,您可以将其保存在数据库中。
修改强>
您可以使用dat逐行写入。
paste(data.frame(capture.output(getHbasedPortfolio))[,1],
collapse=',') ## I would use another separator here becuase comma is confusing