小编Ben*_*ter的帖子

在Rstudio中重新启动R.

我正在尝试使用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"有点神秘.谁能指出我正确的方向?

r rstudio

35
推荐指数
3
解决办法
4万
查看次数

在lapply中分配值

这是一个玩具的例子,我总是写一个循环.我无法找出一个班轮.我确定我已经看过了,但它并没有坚持下去.

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)

merge r lapply

9
推荐指数
2
解决办法
2760
查看次数

d3中有序x轴的水平平移

我希望通过简单的条形图进行垂直缩放和水平平移.这是我的例子: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)

zoom d3.js

6
推荐指数
1
解决办法
1612
查看次数

标签 统计

r ×2

d3.js ×1

lapply ×1

merge ×1

rstudio ×1

zoom ×1