我试图从R中受密码保护的网站上抓取数据.看来,httr和RCurl软件包似乎是使用密码认证进行抓取的最佳选择(我也查看了XML包).
我试图抓取的网站如下(您需要一个免费帐户才能访问整个页面):http: //subscribers.footballguys.com/myfbg/myviewprojections.php ?projector = 2
这是我的两次尝试(用我的用户名替换"username",用我的密码替换"password"):
#This returns "Status: 200" without the data from the page:
library(httr)
GET("http://subscribers.footballguys.com/myfbg/myviewprojections.php?projector=2", authenticate("username", "password"))
#This returns the non-password protected preview (i.e., not the full page):
library(XML)
library(RCurl)
readHTMLTable(getURL("http://subscribers.footballguys.com/myfbg/myviewprojections.php?projector=2", userpwd = "username:password"))
Run Code Online (Sandbox Code Playgroud)
我查看了其他相关帖子(下面的链接),但无法弄清楚如何将他们的答案应用到我的案例中.
如何用R(https链接)webscrape安全页面(使用XML包中的readHTMLTable)?
http://www.inside-r.org/questions/how-scrape-data-password-protected-https-website-using-r-hold
我正在尝试提取列表中每个元素的第二个子元素,同时忽略R中的NA.这是一个小例子:
mylist <- list(a=c(6,7),b=NA,c=c(8,9))
sapply(mylist, "[[", 1)
sapply(mylist, "[[", 2) #receive error
Run Code Online (Sandbox Code Playgroud)
因为元素'b'只有一个子元素(NA),所以在尝试提取第二个子元素时收到以下错误:
Error in FUN(X[[2L]], ...) : subscript out of bounds
Run Code Online (Sandbox Code Playgroud)
我的目标是输出为:7,NA,9.换句话说,我想忽略并保留NA,以便输出与列表中元素的数量相同.我希望解决方案足够通用,也可以将它应用于每个列表中的不同子元素n.
我想生成N
总和的随机正整数M
.我希望在一个相当正态的分布周围选择随机正整数,其均值是M/N
,标准差很小(是否可以将其设置为约束?).
最后,您如何概括产生N个随机正数(不仅仅是整数)的答案?
我发现了其他相关问题,但无法确定如何将答案应用于此背景:https: //stats.stackexchange.com/questions/59096/generate-three-random-numbers-that-sum-to-1-在-R
我有一个data.table
对象,其中包含多个指定唯一案例的列.在下面的小示例中,变量" name
"," job
"和" sex
"指定唯一ID.我想添加缺失的行,以便每个case都有一行用于另一个变量的每个可能实例," from
"(类似于expand.grid
).
library(data.table)
set.seed(1)
mydata <- data.table(name = c("john","john","john","john","mary","chris","chris","chris"),
job = c("teacher","teacher","teacher","teacher","police","lawyer","lawyer","doctor"),
sex = c("male","male","male","male","female","female","male","male"),
from = c("NYT","USAT","BG","TIME","USAT","BG","NYT","NYT"),
score = rnorm(8))
setkeyv(mydata, cols=c("name","job","sex"))
mydata[CJ(unique(name, job, sex), unique(from))]
Run Code Online (Sandbox Code Playgroud)
这是当前的data.table对象:
> mydata
name job sex from score
1: john teacher male NYT -0.6264538
2: john teacher male USAT 0.1836433
3: john teacher male BG -0.8356286
4: john teacher male TIME 1.5952808
5: mary police female USAT 0.3295078
6: chris lawyer female …
Run Code Online (Sandbox Code Playgroud) 我\xe2\x80\x99m第一次尝试创建一个Shiny
应用程序。使用模块构建应用程序,以帮助保持大型应用程序的模块化。但是,默认情况下,模块之间不\xe2\x80\x99 相互通信。I\xe2\x80\x99d 喜欢跨模块共享数据。根据文档,对象是跨模块共享数据的有用方法。golem
golem
Shiny
Shiny
golem
R6
然而,在文档中提供的示例golem
中,并不清楚将R6
生成器放在哪里。根据Appsilon 的说法,R6
生成器进入一个单独的.R
文件(例如logger_manager.R
),并进行调用global.R
以从类构造一个新对象:logger_manager = LoggerManager$new()
。但是,基于 的应用程序中没有global.R
文件。golem
Shiny
golem
下面是我的应用程序的一个最小示例Shiny
。我尝试遵循文档中提供的示例golem
中的结构,但它似乎没有跨模块共享数据:
app_ui.R
:
app_ui <- function(request) {\n tagList(\n # Leave this function for adding external resources\n golem_add_external_resources(),\n \n # List the first level UI elements here \n fluidPage(\n mod_a_ui("a_ui_1"),\n …
Run Code Online (Sandbox Code Playgroud) 我正在尝试计算一个运行计数(即累积和),该计数以其他变量为条件,并且可以针对另一个变量的特定值进行重置。我正在 R 工作,dplyr
如果可能的话,我更喜欢基于 - 的解决方案。
我想cumulative
根据以下算法为运行计数创建一个变量:
cumulative
组合内的运行计数 ( )id
age
cumulative
) 加 1trial
accuracy = 0
block = 2
condition = 1
cumulative
) 重置为 0 ,并且下一个增量从 1 恢复(不是之前的数字)trial
accuracy = 1
block = 2
condition = 1
trial
where block != 2
, or condition != 1
,将运行计数 ( cumulative
) 保留为NA
这是一个最小的工作示例:
mydata <- data.frame(id = c(1,1,1,1,1,1,1,1,1,1,1),
age = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 R 中的rmarkdown
包和 pandoc从 R Markdown (.Rmd) 文档创建 PDF。我遇到的问题是我想在不同的文件夹中创建一个 PDF,并使用不同的文件名.Rmd 文件的文件名/文件夹。我正在运行 MiKTeX 2.9、RStudio 0.98.1087、rmarkdown 0.3.3、pandoc 1.13.1、R 3.0.2 和 Windows 7-64 位。输入文件名为“ Cases by Measure and Site.Rmd
”。我希望输出文件被命名<date>.pdf
并放置在以下目录中(相对于 .Rmd 文件):./Output/Cases by Measure and Site/
我可以在同一个文件位置创建一个没有问题的 PDF:
library("rmarkdown")
render(input="./R Scripts/Reports/Cases by Measure and Site.Rmd",
output_format="pdf_document")
Run Code Online (Sandbox Code Playgroud)
这是我在不同位置创建 PDF 的尝试:
library("rmarkdown")
date <- Sys.Date()
render(input="./R Scripts/Reports/Cases by Measure and Site.Rmd",
output_format="pdf_document",
output_file=paste("./R Scripts/Reports/Output/Cases by Measure and Site/", date, ".pdf", sep=""))
Run Code Online (Sandbox Code Playgroud)
这是我在尝试将文件渲染到新位置时收到的错误:
"C:/Program Files/RStudio/bin/pandoc/pandoc" Cases_by_Measure_and_Site.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output …
Run Code Online (Sandbox Code Playgroud) 我试图挑选最好的幻想足球队给出不同的约束.我的目标是选择最大化其预测点总和的玩家.
限制是:
1)团队必须包括:
-1 QB
-2个RB
-2 WRs
-1 TE
2)球员的风险不得超过6
3)球员费用总和不得超过300.
我怎样才能做到这一点?R中优化这些约束的最佳包/功能是什么?在给定这些约束的情况下,函数调用的最大化是什么?仅供参考,我将搜索100-300名玩家.
提前致谢!这是一个小示例数据集:
name <- c("Aaron Rodgers","Tom Brady","Arian Foster","Ray Rice","LeSean McCoy","Calvin Johnson","Larry Fitzgerald","Wes Welker","Rob Gronkowski","Jimmy Graham")
pos <- c("QB","QB","RB","RB","RB","WR","WR","WR","TE","TE")
pts <- c(167, 136, 195, 174, 144, 135, 89, 81, 114, 111)
risk <- c(2.9, 3.4, 0.7, 1.1, 3.5, 5.0, 6.7, 4.7, 3.7, 8.8)
cost <- c(60, 47, 63, 62, 40, 60, 50, 35, 40, 40)
mydata <- data.frame(name, pos, pts, risk, cost)
Run Code Online (Sandbox Code Playgroud) 在R中导入Infopath .XML表单并转换为数据帧的最佳方法是什么?如果我在Excel中打开Infopath .XML文件,则数据框的行和列会正确显示.
这是我在R中使用XML包尝试的内容:
但是,在第2步中,我收到以下错误:
Error in `[<-.data.frame`(`*tmp*`, i, names(nodes[[i]]), value = c("touch your head13011000", :
duplicate subscripts for columns
Run Code Online (Sandbox Code Playgroud)
但是,当我在Excel中打开XML文件时,似乎没有重复的列.如何将此XML文件从Infopath转换为R中的数据框?预期的列应该是(因为它们出现在Excel中):
TCID, DateCoded, tcAge, T1_B3, T1_B2, T1_B1, T1_B0, T1_A3, T1_A2, T1_A1, T1_A0, T1_DelayTotal, T2_A3, T2_A2, T2_A1, T2_A, T2_B3, T2_B2, T2_B1, T2_B0, T2_DelayTotal, Coder, notes_t1, note_t2, bachildpres30, baparpres30, bapassptgo, bapassptnogo, bamissgame, P1_B3, P1_B2, P1_B1, P1_B0, P1_A3, P1_A2, P1_A1, P1_A0, P1_DelayTotal, P1_action, P1_go-nogo, P1_score, P1_delay, P1_trial, P1_Ecommand, P1_imitation, P1_restraint, P1_ruleswitch, P1_trials, P1_gotrials, P1_nogotrials, T1_gotrials, T1_nogotrials, T1_trials, T2_gotrials, T2_nogotrials, T2_trials, P1_notplay, …
Run Code Online (Sandbox Code Playgroud) 我试图在Shiny中的数据框中计算一个新变量,该变量是在另一个变量上有条件地计算的.
这是我正在尝试做的一个小例子:
mydata <- data.frame(cbind(x = 1, y = 1:10))
value <- 10 #from user input
mydata$z[mydata$y >= 5] <- mydata$y[mydata$y >= 5] + value
mydata$z[mydata$y < 5] <- mydata$y[mydata$y < 5] - value
Run Code Online (Sandbox Code Playgroud)
这是我的ui.R文件:
#Library
library("shiny")
# Define UI for miles per gallon application
shinyUI(pageWithSidebar(
# Application title
headerPanel("Test"),
sidebarPanel(
numericInput("value", "Enter Value:", 10)
),
mainPanel(
tableOutput("table")
)
)
)
Run Code Online (Sandbox Code Playgroud)
这是我的server.R文件:
#Libraries
library(shiny)
#Load Data
mydata <- data.frame(cbind(x = 1, y = 1:10))
# Define server logic
shinyServer(function(input, output) …
Run Code Online (Sandbox Code Playgroud) I\xe2\x80\x99m 尝试将R
. 我正在尝试使用 使所有列更宽(唯一标识观察值的列除外)pivot_wider()
。这是一个最小的工作示例:
library("tidyr")\n\nset.seed(12345)\n\nsampleSize <- 10\ntimepoints <- 3\nraters <- 2\n\ndata_long <- data.frame(ID = rep(1:sampleSize, each = timepoints * raters),\n time = rep(1:timepoints, times = sampleSize * raters),\n rater = rep(c("a","b"), times = sampleSize * timepoints),\n v1 = sample.int(99, sampleSize * timepoints * raters, replace = TRUE),\n v2 = sample.int(99, sampleSize * timepoints * raters, replace = TRUE),\n v3 = sample.int(99, sampleSize * timepoints * raters, replace = TRUE),\n v100 = sample.int(99, sampleSize * timepoints …
Run Code Online (Sandbox Code Playgroud) 我有一个变量,我想转换为具有已知形状和速率参数的伽玛分布.如何将变量转换为R中的gamma分布?我已经研究了dgamma,pgamma和qgamma函数,但我不知道是否会有我想做的事情.
这是一个小例子:
variable <- rnorm(100)
shape <- .83
rate <- .01
Run Code Online (Sandbox Code Playgroud)
注意:我意识到这个例子使用的是正态分布式数据(不适合伽玛分布),但我需要将变量重新调整为原始的伽玛分布.
r ×12
dataframe ×2
shiny ×2
xml ×2
apply ×1
constraints ×1
cross-join ×1
data.table ×1
dplyr ×1
golem ×1
httr ×1
infopath ×1
latex ×1
list ×1
merge ×1
module ×1
na ×1
optimization ×1
pandoc ×1
pdflatex ×1
r-markdown ×1
r6 ×1
random ×1
rcurl ×1
sapply ×1
simulation ×1
tidyr ×1
tidyverse ×1
web-scraping ×1
xml-parsing ×1