小编Tyl*_*den的帖子

在R中转换日期时如何处理空白项目

我从管理信息系统中下载了csv数据。有一些变量是日期,它们以格式为“ 2012/11/16 00:00:00”的字符串形式写在csv中。

读取csv文件后,我使用as.Date()函数将日期变量转换为日期。对于不包含任何空白项的所有变量,此方法都适用。

对于那些确实包含空白项目的消息,我会收到以下错误消息:“字符字符串不是标准的明确格式”

我怎样才能用R替换“ 0000/00/00 00:00:00”之类的空白项目,以使as.Date()函数不会中断?您可能还会推荐其他方法吗?

r missing-data na as.date

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

R统计中的简单数据透视表类型转换

我一直在尝试学习R一段时间,但还没有把我的知识提升到一个不错的水平.我最终会到达那里,但我现在处于紧张状态,并且想知道你是否可以帮助我做一个快速的"转型"型作品.

我有一个包含1800万行的csv数据文件,其中包含以下数据字段:人员ID,日期和值.它基本上来自模拟模型,并模拟一个人对其储蓄账户的贡献,例如:

1,28/02/2013,19.49
2,13/03/2013,16.68
3,15/03/2013,20.34
2,10/01/2014,28.43
3,12/06/2014,38.13
1,29/08/2014,68.46
1,20/12/2013,20.51
Run Code Online (Sandbox Code Playgroud)

因此,正如您所看到的,数据中可以有多个ID,但每个人的日期和贡献金额是唯一的.

我想改变这个,所以我每个人都有一年的贡献历史.所以例如以上将成为:

ID,2013,2014
1,40.00,68.46
2,16.68,28.43
3,20.34,38.13
Run Code Online (Sandbox Code Playgroud)

我对如何处理问题有一个大概的想法:用年份创建另一列数据,然后按ID和年份汇总,以添加适合每个ID /年桶的所有贡献.我不知道如何开始将其翻译成R脚本.

任何指针/指导都将非常受欢迎.

非常感谢和亲切的问候.

r

3
推荐指数
1
解决办法
1782
查看次数

按月线性分配金额

请考虑以下合成数据框:

#Learning to enable splitting contributions spanning two months

start = c(as.Date("2013-01-01"), as.Date("2013-02-01"), as.Date("2013-04-01"), as.Date("2013-04-16"), as.Date("2013-05-16"))
end = c(as.Date("2013-01-31"), as.Date("2013-03-31"), as.Date("2013-04-15"), as.Date("2013-05-15"), as.Date("2013-05-31"))
amount = c(100, 200, 50, 100, 50)

df = data.frame(start,end,amount)
Run Code Online (Sandbox Code Playgroud)

这是收到的现金及其相关时间段的清单。其中一些时间段跨越两个月。我想按月汇总。对于与跨越两个月的时期相关的那些金额,我想在两个月之间线性分配/分配它们。

在 R 中执行此操作的惯用正确方法是什么?

r

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

标签 统计

r ×3

as.date ×1

missing-data ×1

na ×1