【发布时间】:2021-04-07 17:37:21
【问题描述】:
我正在尝试为 R 数据框中的每个因素创建一个 SQLite 表。我创建了一个 for 循环来尝试完成此操作,但是当我包含 dWriteTable() 函数时,它给了我一个错误。我相信这可能与“争论”有关,但我不能肯定。
这是我目前使用 for 循环的代码:
# Connects to the database##
mydb <- dbConnect(RSQLite::SQLite(), "../Output/all_data.sqlite")
#Reads the selected table in database
mu_ut <- dbReadTable(mydb, "mu_ut")
for(i in unique(mu_ut$AnimalID)){
AnID <- paste("AnID", i, sep = ".")
dfname <- assign(AnID, mu_ut[mu_ut$AnimalID == i,])
dbWriteTable(conn = mydb, name = dfname, value = dat_csv,
field.types = c(DateAndTime = "DATETIME",
AnimalID = "CHAR",
Species = "CHAR",
Sex = "CHAR",
CurrentCohort = "CHAR",
BirthYear = "DATE",
CaptureUnit = "CHAR",
CaptureSubunit = "CHAR",
CaptureArea = "CHAR"))
}
我在运行时收到错误消息:
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘dbWriteTable’ for signature ‘"SQLiteConnection", "data.frame", "data.frame"’
任何帮助将不胜感激!
谢谢!
【问题讨论】:
-
什么是
dat_csv?
标签: sql r sqlite for-loop rsqlite