我有一些脚本,我想每天早上6点运行.这些脚本在文件中生成一些图形输出的pdf:foo.pdf
一旦系统运行完脚本Win 7,我希望我的系统(比方说,> = R 2.13)给我发送这些pdf的电子邮件.
哪个是最好的软件包 - 以及最有效的设置方式 - 通过R的附件直接通过电子邮件将这些报告发送给我?
是否有任何"酷"扩展(如将sink()报告文本输出到电子邮件正文中)?
提前感谢任何建议.
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) 好奇,如果有人使用它.我在一个时间序列上做了一个简单的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) 我尝试使用此命令创建一个生存对象。
Surv(date1, date2, event=status)
Run Code Online (Sandbox Code Playgroud)
它导致错误“时间变量不是数字”。请注意,“date1”和“date2”的类别是 Date。
在创建生存对象之前,我是否需要将 Date 对象强制转换为数字?我认为这没有任何意义。
这似乎是一项简单的任务,但我在执行它时遇到了困难,并且找到了如何在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> = && <=来设置日期范围,但这不起作用.有什么想法吗?
我有一个数据(让我们称之为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吗?
我有一个脚本,我正在使用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) 我有两个不同长度的表,我需要将它们合并为两个常见的列(季节和客户端),并在没有共同元素的情况下用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中有以下数据框
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) 我试图让箱形图从具有最低平均值的因子发展到具有最高平均值的因子.这是一个简单的例子:
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度.
提前致谢!