相关疑难解决方法(0)

如何制作一个很好的R可重复的例子

在与同事讨论性能,教学,发送错误报告或在邮件列表上搜索指导时,以及在Stack Overflow上,通常会询问可重复的示例并始终提供帮助.

您有什么建议创建优秀示例的提示?如何以文本格式粘贴中的数据结构?您还应该包含哪些其他信息?

在另外还有其他招数来使用dput(),dump()structure()?你什么时候应该包括library()require()声明?其中保留字应避免一个,此外c,df,data等?

怎样才能成为一位伟大的重复的例子?

r r-faq

2474
推荐指数
23
解决办法
28万
查看次数

SQL加入最近的日期

通常我会在代码本身中执行此操作,但我很好奇是否可以在TSQL中有效地完成此操作.

Table 1 
Date - Value
Table 2
Date - Discount

表1包含每天的条目.表2仅在折扣更改时包含条目.在输入新折扣之前,应用于某个值的折扣被视为有效.

示例数据:

Table 1  
1/26/2010 - 10  
1/25/2010 - 9  
1/24/2010 - 8  
1/24/2010 - 9   
1/23/2010 - 7    
1/22/2010 - 10  
1/21/2010 - 11
Table 2
1/26/2010 - 2  
1/23/2010 - 1  
1/20/2010 - 0  

我需要返回的是以下内容: T1 Date - T1 Value - T2 Discount

示例数据:

1/26/2010 - 10 - 2    
1/25/2010 - 9  - 1  
1/24/2010 - 8  - 1  
1/24/2010 - 9  - 1  
1/23/2010 - 7 …

sql sql-server sql-server-2005

28
推荐指数
3
解决办法
3万
查看次数

R:从日落开始计算的天数

我正在分析由几个环境变量组成的复杂数据集中的时间模式以及来自各种动物物种的活动数据.这些数据已通过多个实验设置收集,每个设置的数据每分钟存储一次.该项目已经运行了几年,所以我的数据集相当大.

我的一个数据集的前几行看起来像这样:

> head(setup_01)
DateTime                Film_number unused PIR Wheel Temperature LightOld LightDay LightNight LightUV IDnumbers    error mouse shrew vole rat frog rest extra_info odour
1 2015-03-10 12:27:10                  x   0       0       13.40  1471.34    -0.97    1331.29  700.42           no error     0     0    0   0    0    0                1
2 2015-03-10 12:28:10                  x   0       0       13.43  1471.38    -1.07    1291.11  731.32           no error     0     0    0   0    0    0                1
3 2015-03-10 12:29:10                  x   0       0       13.31  1471.24    -1.08    1368.57 1016.02           no error     0     0    0 …
Run Code Online (Sandbox Code Playgroud)

datetime r time-series lubridate r-maptools

7
推荐指数
1
解决办法
655
查看次数

按日期连接两个 data.table,表 1 中最接近的日期严格小于第二个表中的日期

从 SO 上的其他地方窃取一个虚拟示例(在确切日期加入 data.table,或者如果不是在最近的小于日期的情况下加入)),我希望根据严格更早的第一个日期(Dt1 中的日期)加入两个表比第二个日期(Dt2 中的日期)。

还关闭了 DataCombine 解决方案“幻灯片”功能中的“警告”消息,因为它可能不公平地减慢了 mtotos 解决方案的速度。

library(data.table)

Dt1 <- read.table(text="
date      x
1/26/2010,  10  
1/25/2010,  9  
1/24/2010,  9   
1/22/2010,  7    
1/19/2010,  11", header=TRUE, stringsAsFactors=FALSE)

Dt2 <- read.table(text="
date
1/26/2010   
1/23/2010   
1/20/2010", header=TRUE, stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

加入所需的结果

   date     x  
1/26/2010 - 9 # based on closest observation strictly less than date  
1/23/2010 - 7   
1/20/2010 - 11
Run Code Online (Sandbox Code Playgroud)

两种解决方案的时间

(我保留 data.frame 格式用于输入 mtoto 的解决方案,而 data.table 则用于 jangorecki 的解决方案)。

solution.mtoto = function(Df1, Df2)
{
  #Full outer join of …
Run Code Online (Sandbox Code Playgroud)

r data.table

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