我在使用dplyr语法时遇到了一些麻烦.我有一个包含不同变量和一个分组变量的数据框.现在我想使用R中的dplyr计算每个组中每列的平均值.
df <- data.frame(
a = sample(1:5, n, replace = TRUE),
b = sample(1:5, n, replace = TRUE),
c = sample(1:5, n, replace = TRUE),
d = sample(1:5, n, replace = TRUE),
grp = sample(1:3, n, replace = TRUE)
)
df %>% group_by(grp) %>% summarise(mean(a))
Run Code Online (Sandbox Code Playgroud)
这给出了"grp"表示的每个组的列"a"的平均值.
我的问题是:是否有可能同时获得每个组中每列的方法?或者我必须df %>% group_by(grp) %>% summarise(mean(a))
为每一栏重复一次?
我想拥有的是什么
df %>% group_by(grp) %>% summarise(mean(a:d)) # "mean(a:d)" does not work
Run Code Online (Sandbox Code Playgroud) 之间有什么区别size_t
和std::size_t
,当他们要使用,任何其他差异化功能在他们的声明,其中条款?
我有一个字符串以及在多个括号内提取信息的内容.目前,我可以使用下面的代码从最后一个括号中提取信息.我该怎么做才能提取多个括号并作为向量返回?
j <- "What kind of cheese isn't your cheese? (wonder) Nacho cheese! (groan) (Laugh)"
sub("\\).*", "", sub(".*\\(", "", j))
Run Code Online (Sandbox Code Playgroud)
目前的输出是:
[1] "Laugh"
Run Code Online (Sandbox Code Playgroud)
期望的输出是:
[1] "wonder" "groan" "Laugh"
Run Code Online (Sandbox Code Playgroud) 我有一些模型,ROCR
在预测类百分比的向量上使用包,我有一个性能对象.使用规范"tpr"绘制性能对象,"fpr"给出了ROC曲线.
我正在比较假阳性率(x)的某些阈值的模型.我希望从性能对象中获得真正的正率(y)的值.更重要的是,我想获得用于生成该点的类别百分比阈值.
在x-value
不高于阈值的情况下最接近阈值的误报率()的索引号应该给出适当的真阳性率(y-value
)的索引号.我不确定如何获得该索引值.
更重要的是,我如何获得用于表达这一点的类概率的阈值?
在R中,我想转换
t1 <- c('this.text', 'next.text')
"this.text" "next.text"
Run Code Online (Sandbox Code Playgroud)
至
'ThisText' 'NextText'
Run Code Online (Sandbox Code Playgroud)
我试过了
gsub('\\..', '', t1)
Run Code Online (Sandbox Code Playgroud)
但这给了我
"thisext" "nextext"
Run Code Online (Sandbox Code Playgroud)
因为在这段时间之后它不会取代这封信.
可能真的很容易,但我无法解决.
我想制作一个空的矢量,POSIXct
以便我可以放入POSIXct
其中:
vec <- vector("POSIXct", 10)
vec
vec[1] <- "2014-10-27 18:11:36 PDT"
vec
Run Code Online (Sandbox Code Playgroud)
这不起作用.有任何想法吗?
如果我在命令行下运行R脚本(实际上是通过在VBA中调用运行它),如何将任何错误/警告消息输出到txt文件?
我已经设法Rcpp.package.skeleton
在R提示符下通过以下命令在Windows中安装 -
Rcpp.package.skeleton("mypackage")
system("R CMD build mypackage")
system("R CMD INSTALL mypackage")
library(mypackage)
Run Code Online (Sandbox Code Playgroud)
这创造了mypackage.dll
.但是当我执行以下命令时 -
rcpp_hello_world <- function(){ .Call( "rcpp_hello_world", PACKAGE = "mypackage")}
rcpp_hello_world()
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error in .Call("rcpp_hello_world", PACKAGE = "mypackage") :
"rcpp_hello_world" not available for .Call() for package "mypackage"
Run Code Online (Sandbox Code Playgroud)
我跑了sessionInfo()
,我得到以下内容:
attached base packages:
[1] tools stats graphics grDevices utils datasets methods base
other attached packages:
[1] mypackage_1.0 inline_0.3.13 Rcpp_0.11.1
Run Code Online (Sandbox Code Playgroud)
说我的新mypackage在那里.
我有什么进一步的检查可以看看发生了什么?有任何想法吗?
我有这个独立的C++代码,我试图将其包装在R包中.
我的问题是我绝对希望它与-O3
标志一起编译
.
所以在src/Makevars
我放的文件中:
PKG_CPPFLAGS = -I../inst/include
PKG_CXXFLAGS = -O3
CXX_STD = CXX11
Run Code Online (Sandbox Code Playgroud)
当我在我的机器上安装包装时,我看到:
g++ -std=c++0x -I/usr/share/R/include -DNDEBUG -I../inst/include -O3 -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c mycppfunctions.cpp -o mycppfunctions.o
g++ -std=c++0x -shared -Wl,-Bsymbolic-functions -Wl,-z,relro -o mycppfunctions.so mycppfunctions.o -L/usr/lib/R/lib -lR
Run Code Online (Sandbox Code Playgroud)
(可怕的-O2
旗帜出现在右边)
所以我的问题是:如何覆盖g++
调用时使用的cpp标志R CMD
?
最近,在另一个包中,我找到了一种方法来为F77代码(也在R包中)做类似的事情.基本上,通过将此添加到Makevars
:
PKG_FFLAGS = $(FPICFLAGS) $(SHLIB_FFLAGS)
all: $(SHLIB)
otherf77foo.o: otherf77foo.f
$(F77) $(PGK_FFLAGS) -O3 -pipe -g -c -o otherf77foo.o otherf77foo.f …
Run Code Online (Sandbox Code Playgroud)