小编sun*_*lsu的帖子

R中的parent.frame()和parent.env()有什么区别; 他们如何通过引用来区分?

如果有人能用一个简单的例子说明这一点会有所帮助吗?

此外,在哪里使用parent.frame()而不是parent.env()反之亦然.

environment r function-call stack-frame

80
推荐指数
1
解决办法
3万
查看次数

如何使用GDB在Emacs中调试R包(带C代码)?

我目前正在编写一个R包,并通过R中的包使用已编译的C++代码Rcpp(Rcpp使得像我这样的非程序员,恕我直言的R和C++代码的交互更容易).

我想使用gdb在我的C++程序中调试一些错误.我用google搜索了一下,主要是在emacs,R-FAQ,这里的一些邮件,以及R的Writing R Extension手册中调试R的一些资源.

但是,我这是第一次这样做,我不能走得太远.任何人都可以给我一些关于如何在emacs中调试R包(或带有C++/C代码的扩展)的指针.具体来说,我想利用ESS与R和gdb一起使用Emacs(如R-FAQ所述).

请注意,我对如何使用C或C++程序使用gdb感到满意.但我无法将这些知识转化为使用带有R和扩展名的gdb.

gdb r emacs23

16
推荐指数
2
解决办法
2041
查看次数

如何在R中的嵌套列表中获取元素的并集

我在 say 中有一个嵌套列表lst(所有元素都是 class int)。我不知道lst提前的长度;但是我知道每个元素lst都是一个长度列表说k

length(lst[[i]]) # this equals k and is known in advance, 
                 # this is true for i = 1 ... length(lst)
Run Code Online (Sandbox Code Playgroud)

我如何取union第一个元素,第二个元素,...,所有元素的第 k 个元素lst

具体来说,如果 的长度lstn,我想要(不是 R 代码):

# I know that union can only be taken for 2 elements, 
# following is for illustration purposes
listUnion1 <- union(lst[[1, 1]], lst[[2, 1]], ..., lst[[n, 1]])
listUnion2 <- union(lst[[1, 2]], lst[[2, 2]], …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
1
解决办法
3654
查看次数

是否有更好的方法获得与表(vec)相同的输出,其中vec是向量?

假设我有一个向量,我不知道,apriori,它的独特元素(这里:1和2).

vec <-
  c(1, 1, 1, 2, 2, 2, 2)
Run Code Online (Sandbox Code Playgroud)

我有兴趣知道是否有更好的方式(或优雅的方式)获得独特元素的数量,vec即相同的结果table(vec).无论是data.frame还是命名向量都无关紧要.

R> table(vec)
vec
1 2 
3 4 
Run Code Online (Sandbox Code Playgroud)

原因:我很想知道是否有更好的方法.另外,我注意到实现中有一个for循环base(除了.C调用).我不知道这是一个大问题,但是当我做一些类似的事情时

R> table(rep(1:1000,100000))
Run Code Online (Sandbox Code Playgroud)

R需要很长时间.我确信这是因为它的数量很大.但有没有办法让它更快?

编辑除了Chase's答案之外,这也做得很好.

R> rle(sort(sampData))
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
43
查看次数

标签 统计

r ×4

emacs23 ×1

environment ×1

function-call ×1

gdb ×1

stack-frame ×1