【发布时间】:2019-03-09 22:01:57
【问题描述】:
所以我一直在使用 excel 手动输入 CSV 文件的数据,我正在使用 read_csv 将其读入 R Studio。
阅读正常,我的日期是这种格式31/07/2013
所以我用它来转换它
patients$Date <- as.Date(patients$Date, "%d/%m/%Y")
这一切看起来都很简单。 但是,对于运行的第二个数据集,它不会转换所有值并将一些值转换为 NA。
这部分源于 Excel 的内置数字格式。 哪一个运行日期的三种方式
- 常规:从 1900 年 1 月 1 日开始计算的天数
- 短 : 31/07/2013
- 长:2013 年 7 月 31 日
现在问题是,这一次我保持原样。所以我希望我应该有一个问题。
我的数据集有几千行长,as.Date()似乎有非系统地放出一些值。
手动地,excel 中的变化并没有在 R 中体现出来。
如何找到这些值并在 R 中手动更改它们。
我还在旁边放了年和月两列供参考(因为我想我这次可能会遇到这个问题)。
Year Month Date Site Category Services Count
2013 July 31/07/2013 K Test Laboratory 1642
2013 July 31/07/2013 K Test X-Ray 16
我现在不需要31/07/2013
所以可以使用07/2013
所以我用它来过滤我的数据
patients %>%
group_by(Date)%>%
filter(Category == "Registration", Site == "K")
所以我得到以下输出
Year Month Date Site Category Services Count
<int> <chr> <chr> <chr> <chr> <chr> <int>
1 2013 July 31/07/2013 K Registration Old Registration Cld 25
2 2013 July 31/07/2013 K Registration Old Registration Male 155
3 2013 July 31/07/2013 K Registration Old Registration Female 445
4 2013 July 31/07/2013 K Registration New Registration Child 24
5 2013 July 31/07/2013 K Registration New Registration Male 106
一旦我申请patients$Date <- as.Date(patients$Date, "%d/%m/%Y")
其中一些显示如下...但并非全部,因为 tibble 中的列类型已更改为 Date
所以它在一定程度上奏效了。
2017 June NA K Registration Old Registration Female 351
2 2017 June NA K Registration New Registration Child 20
3 2017 June NA K Registration New Registration Male 66
4 2017 June NA K Registration New Registration Female 117
5 2017 June NA K Registration Staff Registration 37
6 2017 June NA K Registration Free Registration 7
>
有没有办法排序?
我将来应该使用什么软件来管理 CSV 的 Open Office 的计算似乎也好不到哪里去。 我是否只需要一个 CSV 管理器来避免 Excel 引起问题?
非常感谢您的帮助
干杯
【问题讨论】:
-
嗨,阿西夫,欢迎来到 StackOverflow。请提供一个可重现的示例,以便我们看到问题所在。您可以对日期导致问题的数据框进行子集化,并使用 dput() 创建代码以重现 data.frame。
标签: r excel csv dplyr data-entry