小编rus*_*rce的帖子

如何使用R发送/接收(SMTP/POP3)电子邮件?

我强烈怀疑最受欢迎的答案是"这是工作的错误工具".我承认是R可能不是特别适合用于发送和接收电子邮件,但它是脚本语言,我知道最好的.我希望能找到一种方法,在R.发送和接收短邮件有谁知道一个既定的方式做到这一点在Windows平台上?我或许可以使用BLAT和GetMail的组合,但首选原生R解决方案.

编辑:可接受的解决方案应该能够与需要SSL的服务器连接.

编辑2:我提供了80%的回答.可悲的是,没有证明R本地方式.相反,我使用系统调用和命令行程序的邪恶组合,这些程序很可能不会跨平台兼容.R本地调用将需要深入研究POP3服务器与连接客户端交互的方式,以及对我目前没有的SSL的理解.其他答案仍然鼓励.

##Note: Other programs are wrapped in R functions and system calls.
#They each have their own licenses which may or may not allow the use suggested here
#Programs used here:
#STunnel: http://www.stunnel.org/; Provides an SSL tunnel but requires OpenSSL 
#OpenSSL: http://www.openssl.org/; OpenSSL to actually provide SSL
#   Note that these .dlls should be placed with the stunnel exe.
#   Also note that libssl32.dll may need to be renamed from ssleay32.dll
#Microsoft Visual C++ 2008 Redistributable …
Run Code Online (Sandbox Code Playgroud)

email r

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

如何为C++函数中的结构指定默认值?

我有一个结构:

typedef struct {
   double x,y,z;
} XYZ;
Run Code Online (Sandbox Code Playgroud)

我想定义一个这样的函数:

double CalcDisparity(XYZ objposition, 
                     XYZ eyeposition, 
                     double InterOccularDistance = 65.0)
Run Code Online (Sandbox Code Playgroud)

但我似乎找不到为眼睛分配默认值的方法.我怎么能用C++做到这一点?

c++ struct function

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

当预测值没有变化时,为什么lm会返回值?

考虑以下R代码(我认为最终会调用一些Fortran):

X <- 1:1000
Y <- rep(1,1000)
summary(lm(Y~X))
Run Code Online (Sandbox Code Playgroud)

为什么值汇总返回?这个模型不应该适合,因为Y没有变化吗?更重要的是,为什么模型R ^ 2~ = .5?

编辑

我跟踪了从lm到lm.fit的代码,可以看到这个调用:

z <- .Fortran("dqrls", qr = x, n = n, p = p, y = y, ny = ny,
   tol = as.double(tol), coefficients = mat.or.vec(p, ny), residuals = y,
   effects = y, rank = integer(1L), pivot = 1L:p, qraux = double(p),
   work = double(2 * p), PACKAGE = "base")
Run Code Online (Sandbox Code Playgroud)

这就是实际情况似乎发生的地方.看http://svn.r-project.org/R/trunk/src/appl/dqrls.f)并没有帮助我理解发生了什么,因为我不知道fortran.

statistics r linear-regression lm

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

你怎么能总是抑制R中的消息?

我在R中看到的消息最常见的地方是在包的开头.抑制一个函数的消息很容易实现,suppressMessages如下所述:在R中加载包时禁用消息.通过嵌入函数调用{}内部,也可以抑制多行消息生成supressMesssages函数调用.但是,如果你有一个完整的脚本,在这里和那里发生消息,无论如何都要完全禁用它们?我正在寻找像选项(warn = -1)但是对于消息的东西.请注意,sink我不想做我想要的,因为它重定向所有输出...我想保持输出,print但不保持输出message.

r

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

在R中如何判断字符串是否包含转义序列?

我在R中有一个字符串,例如x < - "c:\ tmp\rest.zip".如何检测到它中有逃逸序列.\ t和\ r?我们DOS/Windows的人习惯使用R不喜欢的反斜杠,我正在写一个功能,我希望能够保护用户自己.

谢谢.

r escaping

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

在编写Rd文档时,如何保留行中的初始空格?

在尝试为自己找到关于这个问题的解决方案时,我发现自己陷入了尝试编写有效的Rd标记.我想要的是添加一个名为的部分Raw Function Code,并将函数的代码放在其下.通过编写脚本来修改要包含的Rd文件,我在这方面取得了有限的成功

\section{Raw Function Code}{\code{
# some piece of R script will eventally provide this part of the text
}}
Run Code Online (Sandbox Code Playgroud)

但是,即使我手动将文本正确地分隔成.Rd文件(使用空格或制表符),每条线的初始空白区域似乎也会被剥离,留下不合需要的外观功能.我注意到如果我在白色空间之前提供一个起始字符,则保留空白区域.但是,我不想提供一个起始角色,因为我希望人们能够直接从制作的PDF中复制和粘贴.

我查看了parseRd,我知道有三种类型的文本LaTeX-like,R-like和verbatim.我试图将我的功能代码放在\ code和\ verb中,似乎都没有产生预期的结果.我该怎么做才能抓住我最初的空白区域?

r literate-programming rd roxygen2

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

如何在ggplot2中使用填充美学来绘制两组的相对比例?

如何在ggplot2中使用填充美学来绘制两组的相对比例?

我在这里问这个问题,因为关于这个主题的其他几个答案似乎不正确(ex1,ex2ex3),但是Cross Validated似乎在功能上禁止了R特定问题(CV meta). ..density..在概念上与比例相关,但与比例不同(ex4ex5).所以正确答案似乎不涉及密度.

例:

set.seed(1200)
test <- data.frame(
  test1 = factor(sample(letters[1:2], 100, replace = TRUE,prob=c(.25,.75)),ordered=TRUE,levels=letters[1:2]), 
  test2 = factor(sample(letters[3:8], 100, replace = TRUE),ordered=TRUE,levels=letters[3:8])
)
ggplot(test, aes(test2)) + geom_bar(aes(y = ..density.., group=test1, fill=test1) ,position="dodge")
#For example, the plotted data shows level a x c as being slightly in excess of .15, but a manual calculation shows a value of .138
counts <- with(test,table(test1,test2))
counts/matrix(rowSums(counts),nrow=2,ncol=6)
Run Code Online (Sandbox Code Playgroud)

似乎产生正确输出的答案适用于不使用ggplot2(在ggplot2之外计算它)的解决方案,或者需要使用面板而不是填充美学. …

statistics visualization r data-visualization ggplot2

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

如何调试/获取SparkR Java后端故障的日志?

No status is returned. Java SparkR backend might have failed.使用Spark安装glm时,我遇到了错误.该作业实际上似乎基于Spark web ui运行完成,但在模型拟合期间(它似乎不是一致的位置),SparkR返回上述错误消息然后返回到R REPL.我没有看到任何我可以参考的日志来识别问题.问题回答者会指出我的日志,还是提供有关此问题的其他反馈?

我可以看到错误生成代码在这里.它看起来好像是由get(".sparkRCon", .sparkREnv)just 指定的连接不存在或者在计算过程中对空字符串做出虚假响应?我不知所措.

2.0.0使用Amazon EMR 在Spark上5.0.

glm apache-spark sparkr

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

R中的序列减少

假设你有一个这样的矢量:

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

怎么能最好地简化为像这样的data.frame?

v.df <- data.frame(value=c(1,2,1,3),repetitions=c(3,4,2,4))
Run Code Online (Sandbox Code Playgroud)

在一个过程语言中,我可能只是迭代循环并按照我的方式构建data.frame,但是在R中使用大型数据集这样的方法是低效的.有什么建议?

sequences r sequence repeat reduction

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

尝试读取输入时尝试使用"连接"会导致R冻结或崩溃

抱歉,我在标题中使用的术语可能无法正确使用.每当我尝试运行此代码时,似乎它正在尝试运行它但从未完成命令.当我单击停止命令符号(红色)时,它不执行任何操作.我无法关闭R.所以为什么这需要永远运行?

con <- file('stdin', open = 'r')

inputs <- readLines(con)
Run Code Online (Sandbox Code Playgroud)

r rstudio

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

过早地停止正在运行的mcparallel工作

我有三个任务:

  1. 是磁盘I/O绑定
  2. 是网络I/O绑定
  3. 是远程计算机上的CPU绑定

3的结果将告诉我我想要的答案是来自任务1还是任务2.由于每个任务需要单独的资源,我想用mcparallel启动所有三个任务,然后等待第三个任务的结果,确定是否终止任务1或任务2.但是,我无法确定如何从R内提前取消mcparallel任务.从对system()的调用中杀死分叉进程的PID是否安全?如果没有,是否有更好的方法来取消不需要的计算?

parallel-processing r

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

在 R 中使用多个线程/核心以压缩形式保存对象的方法是什么?

有许多压缩协议支持多核/线程压缩/解压。但是,似乎基本的解压/压缩方法都使用单个内核(即使至少有算法支持多个内核)。

如果没有现有的工具来实现这一点,是否有一种方法可以在不放弃 Java 或 C 的情况下对其进行管理?

我认为我可以通过将 R 对象以某种方式传递给 shell/命令行来使用pipeserialize获得我想要的功能。但是,我似乎无法以这种方式从 R 中获得对象的可用形式(也许我遗漏了什么?)。将使用“明显”的解决方案,dput但该函数帮助中的注释清楚地表明dput,为了保存而将 R 对象转换为 ASCII 不是dput. 提到的替代方案dump就像save(我宁愿有类似的东西saveRDS),并且仍然将文件路由到一个.Internal无法深入研究 R 的 C 代码的地方。

我应该考虑哪些其他方法来解决这个问题?

compression bash multithreading r

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