将 sqldf 与 R 中的数据帧列表一起使用
Using sqldf with a list of data frames in R
我有一个要在 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")
您可以使用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))
我有一个要在 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")
您可以使用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))