小编get*_*ere的帖子

格式化时间跨度以显示小时,分钟,秒

我一直试图找到一种简单的方法将输出格式化difftime为HH:MM:SS.ms.到目前为止,我还没有遇到任何让我感到惊讶的事情.

我确实编写了下面几乎可以做到的功能.限制是将数字表示为重要的单个数字.例如2小时,3分钟,4.5秒变为"2:3:4.5"而不是"02:03:04.5"

有人有更好的建议吗?

format.timediff <- function(start_time) {
    diff = as.numeric(difftime(Sys.time(), start_time, units="mins"))
    hr <- diff%/%60
    min <- floor(diff - hr * 60)
    sec <- round(diff%%1 * 60,digits=2)

    return(paste(hr,min,sec,sep=':'))
}
Run Code Online (Sandbox Code Playgroud)

format time r

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

R:尽管'append = TRUE',但为什么dbWriteTable在表存在时失败

我正在尝试将新数据附加到已使用该dbWriteTable方法存在的MySQL表中.我在过去使用过它没有问题,但它现在失败了因为表已经存在.这是尽管使用overwrite=FALSE, append=TRUE,

代码:

full_sum_table <- 'mydb.summary'    
dbWriteTable(conn=open_connection, name=full_sum_table, value=summary_data_final, overwrite=FALSE, append=TRUE, row.names=0)

Error in mysqlExecStatement(conn, statement, ...) : 
   RS-DBI driver: (could not run statement: Table 'summary' already exists)
[1] FALSE
Warning message:
In mysqlWriteTable(conn, name, value, ...) :
  could not create table: aborting mysqlWriteTable
Run Code Online (Sandbox Code Playgroud)

第一次调用此代码可以正常工作,但后续调用失败.

任何想法将不胜感激.谢谢

环境:

  R version 3.0.2
  Packages: DBI (I was using RMySQL but it is not available for 3.0.2)
  MySQL v5.6.14
  OS: Windows Server 7
Run Code Online (Sandbox Code Playgroud)

mysql r

13
推荐指数
1
解决办法
8041
查看次数

如何使用"大于"和"分组"创建联接?

我有一个包含一系列名称,事件和日期的表格.我创建了一个evt5_date与特定事件(evt5)相关的新字段' ' .

每个名称可以有多个事件,每个事件的时间记录在evt_date字段中.两个事件evt1,并evt2涉及到evt5.

我想将第一次出现的日期插入evt5到所有行evt1evt2前面的行中evt5.如果没有evt5evt1evt2再保留该字段为空.

所有这些都必须为每个人完成name.有几千个不同的名字.我只在下面的数据中显示2

当前表数据 - evt5_date中没有值

name      evt_date       event    evt5_date
name-1    2010-06-30     evt1     
name-1    2009-10-30     evt5
name-1    2009-09-30     evt2      
name-1    2009-06-30     evt5          
name-1    2009-03-30     evt5     
name-1    2009-02-28     evt2     
name-1    2009-01-30     evt1     
name-2    2005-05-30     evt2
name-2    2005-03-30     evt5
name-2    2005-01-30     evt1     
Run Code Online (Sandbox Code Playgroud)

我希望它看起来如何 - evt5_date字段中的值

name      evt_date       event    evt5_date
name-1    2010-06-30 …
Run Code Online (Sandbox Code Playgroud)

mysql join group-by

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

默认情况下,OSX上的MySQL在哪里写出outfiles?

我正在尝试将MySQL select语句中的一些数据写入运行Snow Leopard的Mac上的文件中.

select date_base, fractile_v2, gics, count(gvkey_iid)
from master
where fractile_v2 <= 15 and
      fractile_v2  != 0
group by date_base, gics, fractile_v2
order by date_base, fractile_v2
limit 100000
INTO OUTFILE '/User/my-name/Desktop/gics_v2.csv'
FIELDS TERMINATED BY ',';
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会产生以下错误:

错误代码:1.无法创建/写入文件'/Users/andrew/Desktop/gics_v2.csv'(错误代码:13)

我假设是一个权限问题.

当我'/User/my-name/Desktop/gics_v2.csv'用简单gics_v2.csv的语句替换完整的文件路径似乎运行.但是我不知道文件保存在哪里,我找不到它.

有人知道吗?任何人都可以建议我如何解决初始写入错误?我以root用户身份运行MySQL.

mysql macos into-outfile

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

为什么ORDER只返回第一行

我有一个相当简单的data.frame(fract_data),我正在尝试排序,但当我应用该ORDER函数时,只返回第一行.不应该返回所有行吗?我应该如何使用它ORDER来返回所有行?

    fract_data[order("date"),]
        date code rank.ey rank.roce rank.combined rank.final fract
1 2005-01-31  ABC       1         8             9          4     3
Run Code Online (Sandbox Code Playgroud)

如下所示,有48行 fract_data

attributes(fract_data)
$names
[1] "date"          "code"          "rank.ey"       "rank.roce"     "rank.combined" "rank.final"    "fract"        

$class
[1] "data.frame"

$row.names
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 …
Run Code Online (Sandbox Code Playgroud)

r

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

MySQL:如何填充表以使用现有数据填充缺失的行

我有一个大的(1GB的cvs文件)季度财务数据集,我需要填写月度数据.每行都有公司标识符和日期戳,但不同的公司有不同的报告日期(3月,6月,9月,12月对2月,5月,8月,11月).

表:来源

Co.   |Date      |NPAT   |Debt
A     |31-Dec-09 |123    |4,000
B     |29-Feb-10 |12     |300
A     |31-Mar-10 |200    |4,500
B     |31-May-10 |11     |200
A     |30-Jun-10 |159    |4,300
C     |30-Jun-10 |-30    |4
Run Code Online (Sandbox Code Playgroud)

在示例公司A中报告了3月,6月,9月和12月所以我需要将3月份的数字复制到4月和5月,6月复制到7月和8月,9月到10月以及11月和12月的数字复制到1月和2月.对于B公司,报告期为2月,5月,8月和11月.

使用上面的例子我需要的是:

表:目的地

Co.   |Date      |NPAT   |Debt
A     |31-Dec-09 |123    |4,000
A     |31-Jan-10 |123    |4,000
A     |29-Feb-10 |123    |4,000
B     |29-Feb-10 |12     |300
A     |31-Mar-10 |200    |4,500
B     |31-Mar-10 |12     |300
A     |30-Apr-10 |200    |4,500
B     |30-Apr-10 |12     |300
A     |31-May-10 |200    |4,500
....
Run Code Online (Sandbox Code Playgroud)

我已经使用内部联接创建了一个填充表,从而生成了所有公司和日期的唯一列表,因此我实际上从一个包含完整公司和日期组合列表的空表中盯着.但是我在努力从那里开始.

我正在使用mysql和R来完成这个项目,我很高兴能找到解决方案/建议.鉴于数据量我正在寻找一个相当有效的实现.

存在以下挑战:1 - 公司在整个时间段内都不存在,因此我不想无限期地(至多2个月)复制最终期间的结果.同样,在早期阶段会有没有数据的公司.2 - …

mysql sql r

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

标签 统计

mysql ×4

r ×4

format ×1

group-by ×1

into-outfile ×1

join ×1

macos ×1

sql ×1

time ×1