由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 会R的麻烦进一下:R中怎么用SQL? 按道理不应该这么慢的。。。
相关主题
请问如何用R download大数据文件。那位大侠帮我debug 一下这个R and sqlite code
有谁对SAS和R都懂得吗?data.table is amazing
问一个很简单的R问题a question about SAS code
a R question[R]how to sample all possible continuous subset from ordered data
在R中, 如何实现没有duplicate的rbind?请问一个开问题的例子与用处
which route in SAS is faster?R 新手求教
请教SQL 要学多长时间RODBC package
(update)拿到了Offer,离开前准备帮现在公司推荐一个新人,有兴趣的看招人
相关话题的讨论汇总
话题: sql话题: sqldf话题: csv话题: newd话题: 数据库
进入Statistics版参与讨论
1 (共1页)
p****e
发帖数: 165
1
请教一下大家,我想把csv文件导入R, 然后对此csv文件用SQL来选取不同的subset, 调
用sqldf package, R就一直在load, 奇慢无比,最后force quit了。
d = read.csv("abc.csv")
newd <- sqldf("select * from d where day = '2012-10-01'", row.names=TRUE)
于是R就卡住了。
我再想是不是需要把csv转化成data frame然后才可以在上面query, 于是就又尝试了这
个:
d = read.csv("abc.csv")
df <- as.data.frame(d)
newd <- sqldf("select * from df where day = '2012-10-01'", row.names=TRUE)
继续卡。。。force quit了
继续尝试,想是不是可以用read.csv.sql,
d <- read.csv.sql("abc.csv", eol "\r")
还是卡。。。force quit了。。。
请大牛们帮帮忙,我如果想用sqldf,又想用external data source (e.g. csv, txt),
怎么样才可以用呢?是不是需要把csv load到我的数据库中,然后用R连接数据库密码
+服务器地址等连接上数据库以后才可以用SQL?
w********m
发帖数: 1137
2
Sadly R doesn't have native support for SQL. The creators of R/S in AT&T Lab
designed it for file systems such as UNIX or LINUX -- they just use
scripting language to manipulate or query data. The 3rd party access like
sqldf or RODBC is somewhat not stable.
s*********e
发帖数: 1051
3
it might not be the issue of sqldf. how big is csv file?
when people have a hammer, everything will look like a nail. ;-)

【在 p****e 的大作中提到】
: 请教一下大家,我想把csv文件导入R, 然后对此csv文件用SQL来选取不同的subset, 调
: 用sqldf package, R就一直在load, 奇慢无比,最后force quit了。
: d = read.csv("abc.csv")
: newd <- sqldf("select * from d where day = '2012-10-01'", row.names=TRUE)
: 于是R就卡住了。
: 我再想是不是需要把csv转化成data frame然后才可以在上面query, 于是就又尝试了这
: 个:
: d = read.csv("abc.csv")
: df <- as.data.frame(d)
: newd <- sqldf("select * from df where day = '2012-10-01'", row.names=TRUE)

p****e
发帖数: 165
4
Thanks for your reply. It is only ~250kb, ~2000 rows

【在 s*********e 的大作中提到】
: it might not be the issue of sqldf. how big is csv file?
: when people have a hammer, everything will look like a nail. ;-)

g******2
发帖数: 234
5
if you use R to do the selection, it's also just one line thing:
newd <- d[d$day == "2012-10-01",]
p****e
发帖数: 165
6
Thanks, probably I listed a bad SQL usage in my example. Ideally I hope to
aggregate rows by using some "group by" SQL statement.

【在 g******2 的大作中提到】
: if you use R to do the selection, it's also just one line thing:
: newd <- d[d$day == "2012-10-01",]

a****r
发帖数: 1486
7
你既然已经把数据读到R里了,就跟SQL没有关系了
你应该用R的方式去“group”
就像楼上所述。。

【在 p****e 的大作中提到】
: Thanks, probably I listed a bad SQL usage in my example. Ideally I hope to
: aggregate rows by using some "group by" SQL statement.

w***a
发帖数: 432
8
之前试过RPostgreSQL,好象都很顺利的,时间有点久,记不得很清楚了。
不过我真正想说的是,既然用了R了就没必要用数据库了。
所有的数据库的功能都可以用R实现了的。
坚持用R也可以让你对R学习得更深入。
w***a
发帖数: 432
9
不好意思,我再去看了一下sqldf其实也还是R,我以为是连接到数据。。。。。
我试了一下好象没有问题,当然我的数据不是大,就几百行。
你保证读入的时候数据是对的吗?看看
head(d)
w***a
发帖数: 432
10
group的功能可以用R中的aggregate实现。
w***a
发帖数: 432
11
group的功能可以用R中的aggregate实现。
1 (共1页)
进入Statistics版参与讨论
相关主题
招人在R中, 如何实现没有duplicate的rbind?
R 读入excel 问题which route in SAS is faster?
RODBC 求助请教SQL 要学多长时间
[合集] 请问如何看到R的source code?(update)拿到了Offer,离开前准备帮现在公司推荐一个新人,有兴趣的看
请问如何用R download大数据文件。那位大侠帮我debug 一下这个R and sqlite code
有谁对SAS和R都懂得吗?data.table is amazing
问一个很简单的R问题a question about SAS code
a R question[R]how to sample all possible continuous subset from ordered data
相关话题的讨论汇总
话题: sql话题: sqldf话题: csv话题: newd话题: 数据库