我正在尝试使用system2()从R中调用一个简单的python脚本.我已经阅读了一些我发现含糊不清的信息说如果使用'太多'内存,它将无法正常工作.
如果我加载一个大型数据集并使用其中的一些信息作为参数传递给system2(),它只有在我调用Rstudio中手动点击"Restart R"时才有效.
我想要的是:
df <- read.csv('some_large_file.csv')
###extracting some info called 'args_vec'
for(arg in args_vec){
system2('python', args)
}
Run Code Online (Sandbox Code Playgroud)
这不会按原样运作.简单地传递for循环.
我需要的:
df <- read.csv('some_large_file.csv')
###extracting some info called 'args_vec'
###something that 'restarts' R
for(arg in args_vec){
system2('python', args)
}
Run Code Online (Sandbox Code Playgroud)
这个答案并没有得到我想要的.也就是说,它在Rstudio中对我不起作用,并且它称为"system"(在这种情况下它提出与"system2"相同的问题).事实上,当我将上面引用的答案放在我的Rprofile.site文件中时,它立即关闭了rstudio:
我尝试将该建议作为正常函数(而不是使用"makeActiveBinding",并且它没有完全奏效.
##restart R in r session -- doesn't work
makeActiveBinding("refresh", function() { system("R --save"); q("no") }, .GlobalEnv)
##nor did this:
refresh <- function() { system("R --save"); q("no") }
Run Code Online (Sandbox Code Playgroud)
我尝试了上面这两个选项的多种变体,但这对于一个简单的问题感觉很长.关于启动过程还有很多我还不了解,"makeActiveBinding"有点神秘.谁能指出我正确的方向?
这是一个玩具的例子,我总是写一个循环.我无法找出一个班轮.我确定我已经看过了,但它并没有坚持下去.
smallFrame <- data.frame(colA = c('A', 'B', 'C' ,'D'), colB = c(1,1,1,1))
someList <- list(A=20, B=30, C=40, D=50)
for(letter in names(someList)){
smallFrame[smallFrame$colA==letter, 'newColumn'] <- someList[[letter]]
}
Run Code Online (Sandbox Code Playgroud)
如何在一行中完成循环?这不会这样做.
lapply(names(someList), function(x) {smallFrame[smallFrame$colA==x, 'newColumn'] <- someList[[x]]})
Run Code Online (Sandbox Code Playgroud) 我希望通过简单的条形图进行垂直缩放和水平平移.这是我的例子:http://jsfiddle.net/bjames/rR7ee/.
我尝试过的大部分内容涉及到viewBox,我明白我可能会有更多的运气clipPath.但是我发现的所有例子都在缩放功能中使用连续的x轴来完成工作.
在我的例子中,有8个条,但只有4个可见.我想把面板拖到左边.我错过了什么?
提前致谢.
width = 600
height = 600
padding = {left:40, top:20, right:20, bottom:30}
size = {
x: width - padding.left - padding.right,
y: height - padding.top - padding.bottom
}
var svg = d3.select('.container').append('div')
.append("svg")
.attr("width", 300)
.attr("height", height)
.attr('class', 'frame')
.append("g")
.attr("transform", "translate(" + padding.left + "," +
padding.top + ")")
svg.append('rect')
.attr('class', 'background')
.attr('pointer-events', 'all')
.attr('fill', 'none')
.attr('height', size.y + 'px')
.attr('width', size.x + 'px')
var d = …Run Code Online (Sandbox Code Playgroud)