【发布时间】:2019-09-23 16:10:34
【问题描述】:
作为汽车共享研究的一部分,我使用的表格看起来像这样:
这里的问题是不应该有两条线:这实际上是一个单程(相同的司机,相同的出发时间),“C”应该在第一行,在乘客 2 列中。
因此,当 Date/Hour_dep/Driver 相同时,我试图自动“填充”Passenger2 列。 ID_Dep是另外一回事,每行都会自动生成,CDE002根本就不应该存在。
根据我的阅读,dcast 是我最好的解决方法。但是我...无法弄清楚如何正确使用它。实际上,我什至不确定 dcast 是我应该使用的。 在使用我的真实表的某个时间点,我设法获得了一个列联表,其中包含针对 Passenger2 的每个可能值的一列。如果我能够从最左边的列开始提取第一个非 NA 值,那将给我我想要的表。但我也没有得到它。
这是重新创建表格和我完全不工作的 dcast 的代码,欢迎任何帮助。
test_iddep<-c("AAA1","BBB2")
test_Date<-c("01/05/2019","01/05/2019")
test_hourdep <- c("8:00","8:00")
test_driv<-c("A","A")
test_pass1<-c("B","C")
test_pass2<-c(NA,NA)
test_table <- data.frame(test_iddep,test_Date,test_hourdep,test_driv,test_pass1,test_pass2)
table_arranged <- dcast(test_table, test_driv + test_Date + test_hourdep + test_pass1 ~ test_pass2,
margins=c("test_driv","test_Date","test_hourdep"))
【问题讨论】:
-
你的预期输出是什么
-
嗨,基本上这是我示例的第一行,但将“C”移到了Passenger2,他应该从一开始就在那儿。