小编mne*_*nel的帖子

在R的特定时间自动通过电子邮件发送pdf图形输出

我有一些脚本,我想每天早上6点运行.这些脚本在文件中生成一些图形输出的pdf:foo.pdf

一旦系统运行完脚本Win 7,我希望我的系统(比方说,> = R 2.13)给我发送这些pdf的电子邮件.

哪个是最好的软件包 - 以及最有效的设置方式 - 通过R的附件直接通过电子邮件将这些报告发送给我?

是否有任何"酷"扩展(如将sink()报告文本输出到电子邮件正文中)?

提前感谢任何建议.

pdf email r

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

是否有与 Stata 'order' 命令等效的 R 函数?

R 中的“顺序”在 Stata 中似乎是“排序”。例如,这是一个数据集(仅列出变量名称):

v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18

这是我期望的输出:

v1 v2 v3 v4 v5 v7 v8 v9 v10 v11 v12 v17 v18 v13 v14 v15 v6 v16

在 R 中,我有两种方法:

data <- data[,c(1:5,7:12,17:18,13:15,6,16)]
Run Code Online (Sandbox Code Playgroud)

或者

names <- c("v1", "v2", "v3", "v4", "v5", "v7", "v8", "v9", "v10", "v11", "v12",  "v17", "v18", "v13", "v14", "v15", "v6", "v16")
data <- data[names]
Run Code Online (Sandbox Code Playgroud)

为了在 Stata 中获得相同的输出,我可以运行 2 行:

order v17 v18, before(v13) …
Run Code Online (Sandbox Code Playgroud)

r stata

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

使用TTR包计算指数移动平均线

好奇,如果有人使用它.我在一个时间序列上做了一个简单的EMA操作.但是不能很好地和解.

我读到更新常量的值= 2 /(N + 1).我定义了x = 1:20,并且做了EMA(x,5).然后我使用递归计算进行了EMA计算.这两个结果并没有真正对齐

该函数返回

EMA(x,5)
 [1] NA NA NA NA  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
Run Code Online (Sandbox Code Playgroud)

我的小东西给了我,

EMA
 [1]  1.000000  1.333333  1.888889  2.592593  3.395062  4.263374  5.175583  6.117055  7.078037  8.052025  9.034683 10.023122 11.015415 12.010276 13.006851 14.004567
[17] 15.003045 16.002030 17.001353 18.000902
Run Code Online (Sandbox Code Playgroud)

r computation

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

无法创建生存对象:错误“时间变量不是数字”

我尝试使用此命令创建一个生存对象。

Surv(date1, date2, event=status)
Run Code Online (Sandbox Code Playgroud)

它导致错误“时间变量不是数字”。请注意,“date1”和“date2”的类别是 Date。

在创建生存对象之前,我是否需要将 Date 对象强制转换为数字?我认为这没有任何意义。

r numeric object

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

按日期范围分组

这似乎是一项简单的任务,但我在执行它时遇到了困难,并且找到了如何在R中完成它的示例.

我有一个大约75K记录的数据框.一个领域有日期,可以追溯到大约11年.我已经使用以下代码去除小时分钟秒,所以我只有一个月 - 一天

 dat$date=round.POSIXt(dat$date,units="day")
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试根据日期创建一个新的字段"FiscalYear",如果日期是在2008-07-01和2009-06-30之间,那么它将在2009-07-01和2010之间分配给... 06-30被分配到2010财年等......

我一直在尝试的方法是使用ifelse> = && <=来设置日期范围,但这不起作用.有什么想法吗?

r date

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

如何使用R"by"功能处理订单?

我有一个数据(让我们称之为mydata)与以下数据框.

datetime|side(0=Bid,1=Ask)| distance(1:best price, 2: 2nd best, etc.)| price
2008/01/28,09:11:28.000,0,1,1.6066
2008/01/28,09:11:28.000,0,2,1.6065
2008/01/28,09:11:28.000,0,3,1.6064
2008/01/28,09:11:28.000,0,4,1.6063
2008/01/28,09:11:28.000,0,5,1.6062

2008/01/28,09:11:28.000,1,1,1.6067
2008/01/28,09:11:28.000,1,2,1.6068
2008/01/28,09:11:28.000,1,3,1.6069
2008/01/28,09:11:28.000,1,4,1.6070
2008/01/28,09:11:28.000,1,5,1.6071
Run Code Online (Sandbox Code Playgroud)

我想计算minAsk-maxBid,在这种情况下= 1.6067-1.6066.我想为我的整个数据做这件事.我在想使用"by",但即使使用这个简单的代码:

by(mydata,mydata$datetime, min(mydata$price)) 
Run Code Online (Sandbox Code Playgroud)

为了找到每个块中的最低价格我得到以下错误:FUN中的错误(X [[1L]],...):找不到功能"FUN"

知道如何实现吗?我应该使用不同的功能ddply吗?

r plyr

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

是否可以在ddply中重用生成的列?

我有一个脚本,我正在使用ddply,如下例所示:

ddply(df, .(col),
function(x) data.frame(
col1=some_function(x$y),
col2=some_other_function(x$y)
)
)
Run Code Online (Sandbox Code Playgroud)

在ddply中,是否可以重用col1而无需再次调用整个函数?

例如:

ddply(df, .(col),
function(x) data.frame(
col1=some_function(x$y),
col2=some_other_function(x$y)
col3=col1*col2
)
)
Run Code Online (Sandbox Code Playgroud)

r plyr

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

通过公共列R合并不同长度的表

我有两个不同长度的表,我需要将它们合并为两个常见的列(季节和客户端),并在没有共同元素的情况下用NA填充单元格.下面我展示了我需要的两张原始表和最终表中的一小部分.我尝试了许多没有成功的事情.

season  client.ID   qtty
1998    13  30
1999    13  30
2000    13  29
1998    28  18
1999    28  18
2000    28  18
1998    35  21
1999    35  21
2000    35  21

season  client.ID   vessel.ID   overLength
1998    28  29  17.1
1998    28  1809    4.26
1998    28  2215    9.45
1998    28  4173    5.8
1998    28  8151    4.5
1999    28  29  17.1
1999    28  1809    4.26
1999    28  2215    9.45
1999    28  4173    5.8
1999    28  8151    4.5
2000    28  29  17.1
2000 …
Run Code Online (Sandbox Code Playgroud)

r

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

取消数据框上的x选项卡

我在R中有以下数据框

  LOCATION COLOR  STATE
1 A        green  fresh
2 A        red    rotten
3 B        green  fresh
4 B        green  fresh
5 C        red    fresh
6 C        green  rotten
Run Code Online (Sandbox Code Playgroud)

可以使用以下脚本在R中创建上述数据框

dat <- read.table(text = "LOCATION COLOR STATE
1 A green fresh
2 A red rotten
3 B green fresh
4 B green fresh
5 C red fresh
6 C green rotten",header = TRUE,sep = "",row.names = 1)
Run Code Online (Sandbox Code Playgroud)

我正在尝试重新排列我的数据框以获得以下输出

  LOCATION COLOR ROTTEN FRESH
1 A        red    1      0
2 A        green  0 …
Run Code Online (Sandbox Code Playgroud)

r

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

在"长"数据结构中,用R的平均值对R中的箱图进行排序

我试图让箱形图从具有最低平均值的因子发展到具有最高平均值的因子.这是一个简单的例子:

a = rnorm(10,mean=3,sd=4)
b = rnorm(10,mean=-1,sd=2)
c = rnorm(10,mean=5,sd=6)
d = rnorm(10,mean=-3,sd=1)
e = rnorm(10,mean=0,sd=.5)

labs = c(rep("a",10),rep("b",10),rep("c",10),rep("d",10),rep("e",10))
mean =     c(rep(mean(a),10),rep(mean(b),10),rep(mean(c),10),rep(mean(d),10),rep(mean(e),10))
data = c(a,b,c,d,e)
df = data.frame(labs,data,mean)
df = df[order(df$mean),]
boxplot(data~labs,data=df)
#They are not ordered
df$labs = ordered(df$labs, levels=levels(df$labs))
boxplot(data~labs,data=df)
#It doesn't work
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到左边最小的因子,随着我向右走?这有几个主题,但他们的方法对我不起作用.(也许是因为我的数据格式?)

奖励积分帮助我将x轴上的字母旋转180度.

提前致谢!

r boxplot

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

标签 统计

r ×10

plyr ×2

boxplot ×1

computation ×1

date ×1

email ×1

numeric ×1

object ×1

pdf ×1

stata ×1