【发布时间】:2018-05-11 17:05:57
【问题描述】:
我是 R 新手,并试图将一些代码从 SAS 更改为 R,但我被困在一个部分。我目前想不出一个可以代表我的问题的示例数据集。
Dataframe name1 有 5 列和 483 行。
Dataframe name2 有 27 列和超过 30000 行。
我目前在 SAS 中有这个:
proc sql;
create table name_c as
select a.*, b.*
from work.name1 a inner join work.name2 b
on a.name = b.name
where b.start_time <= a.p_start_time:
quit;
我尝试使用 sqldf
name_c <- sqldf("select a.*, b.* from name1 a inner join name2 b on
a.name = b.name
where b.start_time <= a.p_start_time")
但收到错误消息: rsqlite_send_query(conn@ptr, statement) 中的错误: 表名 2 没有名为的列 另外:警告信息: 在 field_types[]
我希望的结果将是所有列,但按 sqldf 代码中提到的时间戳过滤。
【问题讨论】:
-
您能否提供触发此错误的示例数据?
-
您不使用合并是否有原因?你可以比你想要的任何条件的子集。
-
subset(merge(name1, name2, by="name"), start_time <= p_start_time) -
@Parfait 有效,还有 Peter_Evan 的帖子。谢谢!