我有一个R脚本查询数据库,运行一些分析,根据当前系统日期绘制几个图表.
我想让这个脚本每天在启动时运行,我想我可以通过使用rscript.exe的快捷方式使用必要的参数来做到这一点.
这样可以正常工作,但是脚本在运行后退出,对查看图表不是很有用.
我正在使用XP和win7.
有没有一种简单的方法来保持屏幕上的脚本输出?我已经尝试将扫描结合到脚本中,但它不会暂停.
我知道我可以打开rgui并运行一行代码,但计划是将其部署到一个完全不熟悉R的同事的计算机上.
鉴于以下data.tables我很惊讶5.9指数与5匹配而不是6.
我不太明白发生了什么.
dat <- data.table(index = c(4.3, 5.9, 1.2), datval = runif(3)+10,
datstuff="test")
reference <- data.table(index = 1:10, refjunk = "junk", refval = runif(10))
dat[, dat_index := index]
reference[dat, roll="nearest", on="index"]
Run Code Online (Sandbox Code Playgroud)
我希望看到3行索引== 6行参考与dat中的索引== 5.9行匹配,至少我对最近的行有所了解.
这是预期的行为吗?
使用R 3.3.2,data.table 1.10.4
我有一个像这样的数据帧:
day sum_flux samples mean
2005-10-26 0.02 48 0.02
2005-10-27 0.12 12 0.50
Run Code Online (Sandbox Code Playgroud)
这是一系列5年的日常阅读,但有些日子不见了.我想用其他年份的平均月份来填补这些日子.
即如果缺少26-10-2005我想要使用数据集中所有Octobers的平均值.如果整个十月都不见了,我想把这个平均值应用到每个缺失的一天.
我想我需要构建一个函数(可能使用plyr)来评估日期.但是我在使用R中的各种时间序列对象时非常缺乏经验,并且有条件地对数据进行子集化并希望得到一些建议.特别是关于我应该使用哪种类型的时间序列.
非常感谢
我有一个大矩阵 num [1:62410, 1:48010]
我想要一个长格式的 data.table
例如
Var1 Var2 value
1: 1 1 -4227.786
2: 2 1 -4211.908
3: 3 1 -4197.034
4: 4 1 -4183.645
5: 5 1 -4171.692
6: 6 1 -4161.634
Run Code Online (Sandbox Code Playgroud)
最小的例子
m = matrix(1:5, nrow = 1000, ncol = 1000)
x = data.table(reshape2::melt(m))
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望同时列名 x、y 和 value。
以前我一直在使用data.table(melt(mymatrix)). 但是从reshape2::melt已弃用的警告来看,这在速度方面可能不是最佳的,解决这个问题的最佳“data.table”方法是什么?
以下不回答我的问题: 快速融化的数据表操作 正确/最快的方法来重塑数据表
其他答案参考已弃用的reshape2软件包
使用ggplot2,有没有办法指定相对于绘图面板大小缩放的颜色条宽度?
即可以向 legend.key.width 提供什么,以便无论绘图的大小如何,键的相对宽度都保持相同?
ggplot(mpg) +
geom_point(aes(cty, hwy, color = year)) +
theme(legend.position = "bottom",
legend.key.width = unit(0.1, "npc")) # not relative
# or could it be done with a custom theme?
my_theme <- function() {
theme_bw() %+replace%
theme(legend.position = "bottom", ?)
ggplot(mpg) +
geom_point(aes(cty, hwy, color = year)) +
my_theme()
Run Code Online (Sandbox Code Playgroud)