Использование sqldf со списком фреймов данных в R - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть список фреймов данных, которые я хочу использовать в запросе sqldf.Однако мне кажется, что я не могу ссылаться на фреймы данных непосредственно из списка в sqldf, используя $ или [].

мой (значительно упрощенный) код:

DF_List <- list(df1 = data.frame(N = 1:26, N2 = 27:52 ), df2 = data.frame(N = 1:26, L = letters[1:26] ))

sqldf("select * from DF_List$df1, DF_List$df2 where DF_List$df1.N = DF_List$df2.N")

Следующее работает - но я хочу ссылаться на фреймы данных прямо из списка.

DF_List <- list(df1 = data.frame(N = 1:26, N2 = 27:52 ), df2 = data.frame(N = 1:26, L = letters[1:26] ))

new_df1 = DF_List$df1
new_df2 = DF_List$df2

sqldf("select * from new_df1, new_df2 where new_df1.N = new_df2.N")

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете использовать with

with(
  DF_List, 
  sqldf("select * from df1, df2 where df1.N = df2.N"))

Или преобразовать свой список в среду и использовать аргумент envir

sqldf("select * from df1, df2 where df1.N = df2.N", envir = as.environment(DF_List))
...