我有一些数据,
calvarbyruno.1<-structure(list(Nominal = c(1, 3, 6, 10, 30, 50, 150, 250), Run = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1", "2", "3"), class = "factor"),
PAR = c(1.25000000000000e-05, 0.000960333333333333, 0.00205833333333334,
0.00423333333333333, 0.0322333333333334, 0.614433333333334,
1.24333333333333, 1.86333333333333), PredLin = c(-0.0119152187070942,
0.00375925114245899, 0.0272709559167888, 0.0586198956158952,
0.215364594111427, 0.372109292606959, 1.15583278508462, 1.93955627756228
), PredQuad = c(-0.0615895732702735, -0.0501563307416599,
-0.0330831368244257, -0.0104619953693943, 0.100190275883806,
0.20675348710041, 0.6782336426345, 1.04748729725370)), .Names = c("Nominal",
"Run", "PAR", "PredLin", "PredQuad"), row.names = c(NA, 8L), class = "data.frame")
calweight <- -2
Run Code Online (Sandbox Code Playgroud)
为此我创建了线性和二次lm模型
callin.1<-lm(PAR~Nominal,data=calvarbyruno.1,weight=Nominal^calweight)
calquad.1<-lm(PAR~Nominal+I(Nominal^2),data=calvarbyruno.1,weight=Nominal^calweight) …Run Code Online (Sandbox Code Playgroud) 我想用R来刮掉这个页面:( http://www.fifa.com/worldcup/archive/germany2006/results/matches/match=97410001/report.html)和其他人,以获得目标得分手和时间.
到目前为止,这就是我所拥有的:
require(RCurl)
require(XML)
theURL <-"http://www.fifa.com/worldcup/archive/germany2006/results/matches/match=97410001/report.html"
webpage <- getURL(theURL, header=FALSE, verbose=TRUE)
webpagecont <- readLines(tc <- textConnection(webpage)); close(tc)
pagetree <- htmlTreeParse(webpagecont, error=function(...){}, useInternalNodes = TRUE)
Run Code Online (Sandbox Code Playgroud)
pagetree对象现在包含指向我解析的html的指针(我认为).我想要的部分是:
<div class="cont")<ul>
<div class="bold medium">Goals scored</div>
<li>Philipp LAHM (GER) 6', </li>
<li>Paulo WANCHOPE (CRC) 12', </li>
<li>Miroslav KLOSE (GER) 17', </li>
<li>Miroslav KLOSE (GER) 61', </li>
<li>Paulo WANCHOPE (CRC) 73', </li>
<li>Torsten FRINGS (GER) 87'</li>
</ul></div>
Run Code Online (Sandbox Code Playgroud)
但我现在已经失去了对于如何隔离它们,并坦言xpathSApply和xpathApply迷惑beejeebies我了!
那么,有没有人知道如何制定一个命令来吸出<div class="cont">标签中包含的元素?
我正在尝试编写一个函数来完成一项特定的工作(在我的例子中,分析异常值的数据集),所以我想要做的第一件事就是看看其他人是如何完成类似的工作的.
我可以这样做来加载一个特定的包并检查一个函数的代码,但是一些函数似乎依赖于你抛出的对象类
>library(outliers)
> fix(outlier)
function (x, opposite = FALSE, logical = FALSE)
{
if (is.matrix(x))
apply(x, 2, outlier, opposite = opposite, logical = logical)
else if (is.data.frame(x))
sapply(x, outlier, opposite = opposite, logical = logical)
else {
if (xor(((max(x) - mean(x)) < (mean(x) - min(x))), opposite)) {
if (!logical)
min(x)
else x == min(x)
}
else {
if (!logical)
max(x)
else x == max(x)
}
}
}
Run Code Online (Sandbox Code Playgroud)
你如何看待根据对象改变的代码?
编辑:
好吧,Palm < - 面子.我作为一个例子使用的函数只调用它自己,但是他的代码就在那里......我已经看到了其他的例子(但是不能想到任何随便的)函数确实做了其他事情,这取决于抛出的对象的类在它,所以问题,即使这是一个坏的例子!
我在R中创建了一系列图(我正在使用ggplot2,但这不是必需的)我希望能够保存我的输出,以便我可以编辑它以供更进一步使用,例如,我可能想要移动传说,或调整颜色等我已经看到ggplot2有一个保存命令,但似乎产生pdf或位图,这两者都不是特别可编辑
其他人怎么做?有什么好主意吗?
这是一些示例代码,用于生成示例图;
library(ggplot2)
dataframe<-data.frame(fac=factor(c(1:4)),data1=rnorm(400,100,sd=15))
dataframe$data2<-dataframe$data1*c(0.25,0.5,0.75,1)
dataframe
testplot<-qplot(x=fac, y=data2,data=dataframe, colour=fac, geom=c("boxplot", "jitter"))
testplot
Run Code Online (Sandbox Code Playgroud)
谢谢
保罗.
这个问题是基于我试图创建R中的应用程序,可以从通过ODBC远程Oracle数据库中的数据,但我怀疑答案会为R具体.
我正在尝试创建一个几个用户将使用的应用程序(我将称之为Reporter).应用程序将通过ODBC链接从企业应用程序(我称之为CorpApp)使用的远程Oracle数据库中提取数据.然后,Reporter应用程序将处理数据并自动生成报告.
该CorpApp有它自己的,以用户的身份验证,并且不使用Oracle用户帐户控制访问(我假设CorpApp安装包括一些秘密的一组Oracle用户凭据,它采用二进制的位置).
作为R是脚本语言,在现阶段,我用它来验证到Oracle的用户凭据在代码中可以得,或在数据文件中的R可以理解.目前我计划这个应用程序将是一个R包,可能作为RCommander的扩展.
有没有什么好方法可以确保;
我有一个数据框,我想生成一个汇总统计表,包括三列中每一列的有效数值,平均值和分组数.我似乎无法找到计算R中数值的数量的任何函数.我可以使用length()告诉我有多少个值,我可以使用colSums(is.na(x))来计算NA值的数量,但colSums(is.numeric(x))的工作方式不同.
我可以使用tapply {length - NA值的数量 - 空值的数量 - 文本值的数量},但肯定有一种更简单的方法.
我的数据(我希望按名义分组,并在Actual,LinPred和QualPred上生成摘要统计信息)
structure(list(Nominal = c(1, 3, 6, 10, 30, 50, 150, 250, 1,
3, 6, 10, 30, 50, 150, 250, 1, 3, 6, 10, 30, 50, 150, 250, 1,
3, 6, 10, 30, 50, 150, 250, 1, 3, 6, 10, 30, 50, 150, 250, 1,
3, 6, 10, 30, 50, 150, 250, 1, 3, 6, 10, 30, 50, 150, 250, 1,
3, 6, 10, 30, 50, 150, 250, 1, 3, 6, 10, …Run Code Online (Sandbox Code Playgroud) 我正在使用一个使用长SQL字符串的R脚本,我希望保持查询相对没有其他标记,以便允许在编辑器和应用程序之间进行复制和粘贴.我还希望能够跨行分割查询以提高可读性.
在RODBC文档中,该paste函数用于从单独的块中构建查询,但我更喜欢不那么笨拙且引号和逗号较少的东西.谢谢你的帮助.
我开始在公司内进行少量开发.我打算使用Git进行版本控制,我很想知道人们在他们的小组中使用的版本是什么准则或标准,类似于编码标准通常是在小组内写的.
我假设会有类似的东西;
显然,很多这将取决于您使用的VCS以及您如何构建它.
我正在从数据库中提取数据,并通过rehsape2运行结果.由于某些原因,这会将POSIXct日期时间戳记变为数字.没问题我想,除了我一小时外,你可以把它们拒之门外.
这是一个最小的例子
foo<-as.POSIXct("2011-04-04 14:18:58")
as.numeric(foo) #gives 130192318
bar<-as.POSIXct(as.numeric(foo),
tz=Sys.timezone(),
origin=as.POSIXct(
strptime("1970-01-01 00:00:00", "%Y-%m-%d %H:%M:%S", tz="UTC")))
as.numeric(bar) #gives 130192318 identical !
foo #Gives "2011-04-04 14:18:58 BST"
bar #Gives "2011-04-04 13:18:58 UTC"
Run Code Online (Sandbox Code Playgroud)
显然foo和bar在数值上是相同的,但是R认为foo需要显示为BST并且显示为UTC.如何将两者显示为BST.这也不起作用;
as.POSIXct(bar, tz="BST") #still gives "2011-04-04 13:18:58 UTC"
Run Code Online (Sandbox Code Playgroud)