小编Flo*_*rer的帖子

在实践中,C比R快多少?

我在R中写了一个Gibbs采样器并决定将它移植到C以查看它是否会更快.我看过很多页面声称C的速度会快50倍,但每次使用它时,它只比R快了大约五六倍.我的问题是:这是预期的,还是我没有使用哪些技巧会使我的C代码明显快于此(就像使用矢量化加速R中的代码一样)?我基本上接受了代码并在C中重写了它,用for循环替换矩阵操作并使所有变量指针.

另外,从R程序员的角度来看,有没有人知道C的良好资源?Matloff 有一本名为The Art of R Programming的优秀书籍,但它似乎是从已经知道C.的人的角度写的.

此外,当我的C代码在Windows的标准R GUI中运行时,屏幕会冻结.它没有崩溃; 一旦代码完成运行,它就会解冻,但它阻止我在GUI中做任何其他事情.有谁知道我怎么能避免这个?我正在使用.C()调用该函数

c r

7
推荐指数
1
解决办法
5338
查看次数

在R中插入两个月之间的月度日期

我在R中有两个日期,我想创建一个间隔为一个月间隔的日期向量.然而,R似乎使用31天的间隔(有时?).例如:

x <- as.Date("31-01-1900", "%d-%m-%Y")
y <- as.Date("31-01-1901", "%d-%m-%Y")
seq(x, y, by="month")

 [1] "1900-01-31" "1900-03-03" "1900-03-31" "1900-05-01" "1900-05-31"
 [6] "1900-07-01" "1900-07-31" "1900-08-31" "1900-10-01" "1900-10-31"
[11] "1900-12-01" "1900-12-31" "1901-01-31"
Run Code Online (Sandbox Code Playgroud)

我想要的是一个日期向量,每个日期是每个月的最后一天,如下所示:

 [1] "1900-01-31" "1900-02-29" "1900-03-31" "1900-04-30" "1900-05-31"
 [6] "1900-06-30" "1900-07-31" "1900-08-31" "1900-09-30" "1900-10-31"
[11] "1900-11-30" "1900-12-31" "1901-01-31"
Run Code Online (Sandbox Code Playgroud)

R知道月份的长度,还是我必须手工完成?

r date

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

是什么导致randomForest.partialPlot函数中出现这种奇怪的行为?

我正在使用randomForestR 2.15.2中的软件包(v.4.6-7).我找不到该partialPlot函数的源代码,并试图弄清楚它的作用(帮助文件似乎不完整.)它应该将变量的名称x.var作为参数:

library(randomForest)
data(iris)

rf <- randomForest(Species ~., data=iris)
x1 <- "Sepal.Length"
partialPlot(x=rf, pred.data=iris, x.var=x1)
# Error in `[.data.frame`(pred.data, , xname) : undefined columns selected

partialPlot(x=rf, pred.data=iris, x.var=as.character(x1))
# works!

typeof(x1)
# [1] "character"

x1 == as.character(x1)
# TRUE

# Now if I try to wrap it in a function...
f <- function(w){
  partialPlot(x=rf, pred.data=iris, x.var=as.character(w))
}

f(x1)
# Error in as.character(w) : 'w' is missing
Run Code Online (Sandbox Code Playgroud)

问题:

1)我在哪里可以找到源代码partialPlot

2)如何编写一个以字符串x1作为参数x1 …

r

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

标签 统计

r ×3

c ×1

date ×1