我正在使用Oracle数据库,并希望获取一个包含3000万条记录的表.
library(RODBC)
ch <- odbcConnect("test", uid="test_user",
pwd="test_pwd",
believeNRows=FALSE, readOnly=TRUE)
db <- sqlFetch(ch, "test_table")
Run Code Online (Sandbox Code Playgroud)
对于100万条记录,该过程需要1074.58秒.因此,所有3000万条记录需要相当长的时间.有没有可能加快这个过程?
我将不胜感激任何帮助.谢谢.
我想知道如何在R中设置一些基本匹配程序的例子.在各种编程语言中有很多例子,但我还没有找到一个很好的R例子.
假设我想让学生与项目相匹配,我会考虑在谷歌搜索这个问题时遇到的3种替代方法:
1)Bipartite匹配案例:我要求每个学生指出要处理的3个项目(没有说明3个项目中的任何偏好排名).
ID T.1 T.2 T.3 T.4 T.5 T.6 T.7
1 1 1 1 0 0 0 0
2 0 0 0 0 1 1 1
3 0 1 1 1 0 0 0
4 0 0 0 1 1 1 0
5 1 0 1 0 1 0 0
6 0 1 0 0 0 1 1
7 0 1 1 0 1 0 0
Run Code Online (Sandbox Code Playgroud)
-
d.1 <- structure(list(Student.ID = 1:7, Project.1 = c(1L, 0L, 0L, 0L,
1L, …Run Code Online (Sandbox Code Playgroud) 如何在R中创建如下图表?

一些玩具数据看起来像这样:
# Data
data <- rep(c(0, 25, 50, 75, 100),6)
data <- matrix(data, ncol=3, byrow=TRUE)
colnames(data) <- paste0("factor_", seq(3))
rownames(data) <- paste0("observation_", seq(10))
# factor_1 factor_2 factor_3
# observation_1 0 25 50
# observation_2 75 100 0
# observation_3 25 50 75
# observation_4 100 0 25
# observation_5 50 75 100
# observation_6 0 25 50
# observation_7 75 100 0
# observation_8 25 50 75
# observation_9 100 0 25
# observation_10 50 75 100
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有两个列表,其元素具有部分重叠的名称,我需要逐个元素地合并/组合成一个列表:
我的问题与按元素名称组合/合并列表有关,但我的示例中的数据结构更复杂,因此,在这种情况下,上述链接下提供的解决方案不起作用.
这是一个简化的玩具示例:
l.1 <- list(list(c(10,20), NULL),list(c(10,20,30), NULL), list(c(9,12,13), NULL))
names(l.1) <- c("a","b","c")
l.2 <- list(list(NULL,c(1,0)),list(NULL,c(1,2,3)))
names(l.2) <- c("a","b")
Run Code Online (Sandbox Code Playgroud)
因此,数据的类型为"list in list",如下所示:
# > l.1
# $a
# $a[[1]]
# [1] 10 20
# $a[[2]]
# NULL
#
# $b
# $b[[1]]
# [1] 10 20 30
# $b[[2]]
# NULL
#
# $c
# $c[[1]]
# [1] 9 12 13
# $c[[2]]
# NULL
#
# > l.2
# $a
# $a[[1]]
# NULL
# $a[[2]]
# …Run Code Online (Sandbox Code Playgroud) 最近,我读了一篇名为Bandits Know the Best Product Price的博客文章"(http://pkghosh.wordpress.com/2013/08/25/bandits-know-the-best-product-price/),其中概述了如何使用多臂强盗分析进行价格优化.
关于多臂强盗分析是否优于A/B测试(例如"每次将击败A/B测试的20行代码")还有很多讨论:http://stevehanov.ca/blog/index .php?id = 132?utm_medium =推荐与"为什么多臂强盗算法不比A/B测试更好":http://visualwebsiteoptimizer.com/split-testing-blog/multi-armed-bandit-算法/).
我知道有一个叫做"强盗"的R包,它可以用于这样的分析.
有人有一个玩具示例 -与博客文章中的示例相似 - 它显示了如何通过使用R(在价格优化的背景下)应用此方法?
谢谢你的帮助.
我正在查询 Freebase 以获取大约 10000 部电影的类型信息。
在阅读如何使用 R 中的 getURL() 优化抓取后,我尝试并行执行请求。但是,我失败了 - 见下文。除了并行化,我还读到这httr可能是RCurl.
我的问题是:是否可以通过使用以下循环的并行版本(使用 WINDOWS 机器)来加速 API 调用?b) getURL 的替代方法,例如GET在httr-package 中?
library(RCurl)
library(jsonlite)
library(foreach)
library(doSNOW)
df <- data.frame(film=c("Terminator", "Die Hard", "Philadelphia", "A Perfect World", "The Parade", "ParaNorman", "Passengers", "Pink Cadillac", "Pleasantville", "Police Academy", "The Polar Express", "Platoon"), genre=NA)
f_query_freebase <- function(film.title){
request <- paste0("https://www.googleapis.com/freebase/v1/search?",
"filter=", paste0("(all alias{full}:", "\"", film.title, "\"", " type:\"/film/film\")"),
"&indent=TRUE",
"&limit=1",
"&output=(/film/film/genre)")
temp <- getURL(URLencode(request), ssl.verifypeer = FALSE) …Run Code Online (Sandbox Code Playgroud) 有多个软件包R可以帮助从统计模型输出中打印"漂亮"表(LaTeX/HTML/TEXT)并轻松比较替代模型规范的结果.
一些包有apsrtable,xtable,memisc,texreg,outreg,和stargazer(例如参见这里:https://www.r-statistics.com/2013/01/stargazer-package-for-beautiful-latex-tables-from-r-statistical -models-output /).
是否有任何类似的R包支持包装的型号h2o?
这是两个简单GLM模型的示例h2o,我喜欢将它们作为"漂亮"表格彼此相邻打印.
# Load package and setup h2o
library(h2o)
localH2O <- h2o.init(ip = 'localhost', port = 54321, max_mem_size = '4g')
# Load data
prostatePath <- system.file("extdata", "prostate.csv", package = "h2o")
prostate.hex <- h2o.importFile(path = prostatePath, destination_frame = "prostate.hex")
# Run GLMs
model.output.1 <- h2o.glm(y = "CAPSULE", x = c("RACE","PSA","DCAPS"),
training_frame = prostate.hex,family = "binomial", …Run Code Online (Sandbox Code Playgroud) 假设我有3个不同的列表
col1 = ['2006-03-28','2006-04-05','2006-04-06']
col2 = ['IBM', 'MSFT', 'IBM']
col3 = [1000, 1000, 500]
Run Code Online (Sandbox Code Playgroud)
将这些列表组合在另一个列表中的最有效方法是什么,如下所示:
col = [('2006-03-28', 'IBM', 1000),
('2006-04-05', 'MSFT', 1000),
('2006-04-06', 'IBM', 500)]
Run Code Online (Sandbox Code Playgroud) 我有一个data.table对象,我id根据日期变量start.time和扩展stop.time.下面列出的代码可行 - 我的问题是如何使我的代码更容易使用.
如何避免在语句中手动列出data.table对象的现有变量,即"start.time"和"stop.time" test <- DT[, list(start.time, stop.time, time=seq(start.time, stop.time, by="1 month")), by=id].如果你假设我不仅有两个变量而是几十个变量,那么手动添加变量会很烦人.目的是包括原始data.table对象中存在的所有列.
我试图添加.SD而setdiff(names(DT), "id")不是变量名称,但这引发了错误.
DT <- data.table(id=sample(1000),
start.time=sample(seq(as.Date("01-01-2010", format="%d-%m-%Y"), as.Date("31-12-2010", format="%d-%m-%Y"), by="day"), 1000, replace=TRUE),
stop.time=sample(seq(as.Date("01-01-2011", format="%d-%m-%Y"), as.Date("31-12-2011", format="%d-%m-%Y"), by="day"), 1000, replace=TRUE))
# > DT
# id start.time stop.time
# 1: 105 2010-12-16 2011-07-30
# 2: 837 2010-01-15 2011-01-19
# 3: 155 2010-11-30 2011-10-07
# 4: 125 2010-03-31 2011-04-19
# 5: 192 2010-07-13 2011-03-27
# ---
# …Run Code Online (Sandbox Code Playgroud) Python已经拥有pandasR data.table,事实上已经拥有R 用于数据处理的标准库。
Scala相当于什么?