Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用sqldf的子集数据帧_R_Sqldf - Fatal编程技术网

R 使用sqldf的子集数据帧

R 使用sqldf的子集数据帧,r,sqldf,R,Sqldf,我尝试使用sqlfd对数据帧进行子集划分,但它不起作用。有人能解释一下原因吗?我是这样处理的 library(sqldf) dataf <- read.csv("zert.csv") 本地(drv,…)中的错误: 无法连接到数据库:错误:拒绝用户访问 中的“rodrigue”@“localhost”(使用密码:否)错误!dbPreExists: 无效的参数类型 sqldf需要一个SQL提供程序,在您的评论中,您似乎拥有MYSQL,并且需要密码才能连接。 因此,您需要sqldf函数中的pa

我尝试使用sqlfd对数据帧进行子集划分,但它不起作用。有人能解释一下原因吗?我是这样处理的

library(sqldf)
dataf <- read.csv("zert.csv")
本地(drv,…)中的错误:

无法连接到数据库:错误:拒绝用户访问 中的“rodrigue”@“localhost”(使用密码:否)错误!dbPreExists: 无效的参数类型


sqldf需要一个SQL提供程序,在您的评论中,您似乎拥有MYSQL,并且需要密码才能连接。
因此,您需要
sqldf
函数中的
password
选项。
无论如何
让我给你一个建议:忘掉SQL,相信R本身有更强大的SQL语法。 R具有更大的功率和更快的封装
数据。表
。
这是您比其他任何方式更快的答案:

require(data.table)
Dt=fread('/path/to/File.csv',there are some useful options)
setkey(Dt,AGEP) # if it is huge file
ddf=Dt[AGEP<50 & pwgtp1,]
require(data.table)
Dt=fread('/path/to/File.csv',有一些有用的选项)
setkey(Dt,AGEP)#如果是大文件

ddf=Dt[AGEPTry它在一个新的会话中。确保您的
.Rprofile
中没有任何库语句。尝试添加
verbose=TRUE
作为
sqldf
的参数。当发布到时,所有输入都应包括在内,以便其他人可以复制。此外@G.Grothendieck:THANK@G.Grothendieck和.despire我没有找到任何提示。当我尝试在新会话中添加'verbose=TRUE'作为sqldf的参数时,我已经'>dd sqldf:library(RMySQL)'>sqldf:m是的,它确实显示了一些东西。它表明您发出了一个library(MySQL)调用,但您没有显示给我们。您打算使用MySQL吗?删除对library(MySQL)的调用只需将其与SQLite一起使用,或者阅读文档并将MySQL设置为与sqldf一起使用。感谢您的提示,它运行得非常好,但我需要使用sqldf函数来完成此任务。使用MySQL时,sqldf不使用密码参数或选项。要将MySQL设置为与sqldf一起使用,请阅读
?sqldf
require(data.table)
Dt=fread('/path/to/File.csv',there are some useful options)
setkey(Dt,AGEP) # if it is huge file
ddf=Dt[AGEP<50 & pwgtp1,]