我正在读表,它包含描述时间戳的字符串.我只想将字符串转换为内置日期时间类型...
R> Q <- read.table(textConnection('
tsstring
1 "2009-09-30 10:00:00"
2 "2009-09-30 10:15:00"
3 "2009-09-30 10:35:00"
4 "2009-09-30 10:45:00"
5 "2009-09-30 11:00:00"
'), as.is=TRUE, header=TRUE)
R> ts <- strptime(Q$tsstring, "%Y-%m-%d %H:%M:%S", tz="UTC")
Run Code Online (Sandbox Code Playgroud)
如果我尝试将datetime列存储到data.frame中,我会收到一个奇怪的错误:
R> Q$ts <- ts
Error in `$<-.data.frame`(`*tmp*`, "ts", value = list(sec = c(0, 0, 0, :
replacement has 9 rows, data has 5
Run Code Online (Sandbox Code Playgroud)
但如果我通过data.frame中的数字表示,它可以工作......
R> EPOCH <- strptime("1970-01-01 00:00:00", "%Y-%m-%d %H:%M:%S", tz="UTC")
R> Q$minutes <- as.numeric(difftime(ts, EPOCH, tz="UTC"), units="mins")
R> Q$ts <- EPOCH + 60*Q$minutes
Run Code Online (Sandbox Code Playgroud)
了解情况有什么帮助?
可能重复:
R:在多个列中查找模式 - 可能重复()?
亲爱的大家,
这是我的数据集的一部分:
name chr start stop strand alias
60 uc003vqx.2 chr7 130835560 130891916 - PODXL
61 uc003xlp.1 chr8 38387812 38445509 - FLG
62 uc003xlu.1 chr8 38400008 38445509 - FLG
63 uc003xlv.1 chr8 38400008 38445509 - FLG
64 uc003xtz.1 chr8 61263976 61356508 - CA8
65 uc003xua.1 chr8 61283183 61356508 - CA8
66 uc010lwg.1 chr8 38387812 38445509 - FLG
67 uc010lwh.1 chr8 38387812 38445509 - FLG
68 uc010lwj.1 chr8 38387812 38445509 - FLG
Run Code Online (Sandbox Code Playgroud)
我想基于唯一的start,stop和alias列过滤数据集.最终结果必须是这样的:
name chr start stop …Run Code Online (Sandbox Code Playgroud)