【发布时间】:2019-05-07 15:35:00
【问题描述】:
我无法过滤特定日期的数据集。
padf_12 <- read.table("Paddus_2012_sheet2.csv", head = TRUE, sep=";" )
tibble(padf_12)
padf_12 <- padf_12 %>%
mutate_at(vars(Block, Treatment), factor) %>%
mutate("Date"=dmy(Date, tz = "UTC"))
我尝试了不同的方法来过滤数据,例如
padf_12 <- padf_12 %>%
filter_at(padf_12, vars(Date == "2012-08-14"))
和
padf_12 <- padf_12 %>%
filter(padf_12, Treatment == "2012-08-14")
由于错误代码,我尝试将日期转换为 POSIXct
padf_12 <- padf_12 %>%
mutate(as.POSIXct(padf_12$Date, tz="", format="%Y-%m-%d"))
我的数据如下所示:
Sample Date Time Plot Ch..Vol..L. Plot..old. iButton Treatment Block X2.methylbutyl.acetat X3.hexenyl.acetate
1 31-K1 20120522 2012-05-22 14:01:00 C1 13 K1 2198C9 C 1 0.00 0.02
2 32-K1 20120613 2012-06-13 10:19:00 C1 13 K1 2198C9 C 1 0.00 0.00
3 33-K1 20120626 2012-06-26 12:19:00 C1 13 K1 21980 C 1 0.00 0.00
4 34-K1 20120715 2012-07-15 12:15:00 C1 13 K1 2198CD C 1 0.00 0.02
5 35-K1 20120814 2012-08-14 C1 13 K1 C 1 0.00 2.34
6 36-K2 20120522 2012-05-22 15:12:00 C2 13 K2 2198C9 C 2 0.01 0.04
这里是完整数据集的链接: https://www.dropbox.com/s/m4qfrdagqxvdxnh/Filtering%20problem.R?dl=0
非常感谢任何帮助。
【问题讨论】:
-
使用
subset怎么样?类似subset(padf_12, date == "2012-08-14") -
不确定这是否会导致问题,但如果您使用管道运算符 %>% 您不需要指定以下函数的 .data 对象。所以代替
padf_12 <- padf_12 %>% filter(padf_12, Treatment == "2012-08-14"),padf_12 <- padf_12 %>% filter(Treatment == "2012-08-14")应该足够了。 -
非常感谢你们俩。删除函数中的数据对象就行了!