环境:赢得7 HP,R v2.15.1
我希望得到的:
我在这个论坛中阅读了不同的主题后尝试了不同的方法,但无法得到我需要的东西.需要帮忙.附加样本数据和结果.
我的样本数据
x <- c("04-01-10","05-01-10","06-01-10","07-01-10","08-01-10","09-01-10","10-01-10","11-01-10","12-01-10","01-01-11","02-01-11","03-01-11","04-01-11","05-01-11","06-01-11","07-01-11","08-01-11","09-01-11","10-01-11","11-01-11","12-01-11","01-01-12","02-01-12","03-01-12","04-01-12","05-01-12","06-01-12")
y <- c(120,210,130,160,190,210,80,70,110,120,140,160,130,200,110,180,210,200,90,60,100,100,120,170,100,180,120)
Run Code Online (Sandbox Code Playgroud)
x是mm-dd-yy格式的日期(字符)tz:IST(加尔各答/亚洲)数据每个月只有单个y值,这个值在月份的开始日期
转换为数据框架
MySample <- data.frame(x) ## convert to dataframe
MySample$y <- y
Run Code Online (Sandbox Code Playgroud)
加载所需的库
require(lubridate)
require(ggplot2)
Run Code Online (Sandbox Code Playgroud)
MySample Base Plot
1)绘制x对y
ggplot(MySample, aes(MySample$x, MySample$y)) +
geom_bar(y=MySample$y,stat="identity")
Run Code Online (Sandbox Code Playgroud)
给我基础情节结果
2)绘图x vs y + fill =年
ggplot(MySample, aes(MySample$x, MySample$y, fill=year(MySample$x))) +
geom_bar(y=MySample$y,stat="identity")
Run Code Online (Sandbox Code Playgroud)
给了我填充,但有2010年,2010,2010.5,2011,2011.5,2012填写5年
我尝试了不同的方法,但遇到了一个或另一个错误.
3)绘图x vs y + fill =年+ facet_grid(年)
ggplot(MySample, aes(x, y, fill=year(x))) +
geom_bar(y=MySample$y,stat="identity") +
facet_grid(. ~ year(MySample$x))
Run Code Online (Sandbox Code Playgroud)
获取:layout_base中的错误(data,cols,drop = drop):至少一个图层必须包含用于构面的所有变量 …
我对R很熟悉,因为我已经使用它几年了.不幸的是,我不太精通创建涉及循环或重复方程的函数.问题如下:
我有一个包含超过1000个值的向量.我想计算两个相等大小的并置方法与该向量的子集之间的绝对差值.
这是一个例子.
我有长度为8的向量(vec)
[1] 0.12472963 1.15341289 -1.09662288 -0.73241639 0.06437658 -0.13647136 -1.52592048 1.46450084
Run Code Online (Sandbox Code Playgroud)
我想计算前2个值的平均值(0.12472963,1.15341289)并获得与以下2个值(-1.09662288 -0.73241639)的平均值的绝对差值,然后沿着向量工作.
在这种情况下,我可以轻松使用以下等式:
abs(mean(vec[1:2])-mean(vec[3:4]))
Run Code Online (Sandbox Code Playgroud)
并逐步增加每个数字1,以便手动向下工作直到向量结束.我会得到以下矢量.
[1] 1.553591 0.3624149 0.8784722 0.497176 0.005337574
Run Code Online (Sandbox Code Playgroud)
然而,我希望有一个自动例程,使我可以在长向量上执行此操作并更改用于计算均值的值的数量.
在我看来它应该相对简单,但我不知道从哪里开始.
我在这里有一张桌子:http://ulozto.cz/xAeP3Ahn/res2-txt.我试图从中得出一个点图.
我读了我的桌子:
res2<-read.table("res2.txt", header = TRUE, sep="\t")
Run Code Online (Sandbox Code Playgroud)
并创建2个图.
(1)这是单个绘图功能的脚本:
plot(res2$V2, res2$dist06, type = "n")
points(subset(res2$V2, year == 2006), subset(res2$dist06, year == 2006), pch = 19, col = "red", cex = 1)
points(subset(res2$V2, year == 2007), subset(res2$dist06, year == 2007), pch = 19, col = "green", cex = 1)
points(subset(res2$V2, year == 2008), subset(res2$dist06, year == 2008), pch = 19, col = "black", cex = 1)
points(subset(res2$V2, year == 2009), subset(res2$dist06, year == 2009), pch = 19, …Run Code Online (Sandbox Code Playgroud) 我想从这个网址中删除匹配时间和日期:
http://www.scoreboard.com/game/rosol-l-goffin-d-2014/8drhX07d/#game-summary
通过使用chrome dev工具,我可以看到这似乎是使用以下代码生成的:
<td colspan="3" id="utime" class="mstat-date">01:20 AM, October 29, 2014</td>
Run Code Online (Sandbox Code Playgroud)
但这不是源html.
我认为这是因为它的java(纠正我,如果我错了).如何使用R抓取此信息?
如何获取Windows计算机的总磁盘空间/可用磁盘空间?
如果没有R函数,可能有一个我可以在R system函数中使用的Windows命令,但我无法找到该命令.
我有一个数据框df(见下文)
dput(df)
structure(list(x = c(49, 50, 51, 52, 53, 54, 55, 56, 1, 2, 3,
4, 5, 14, 15, 16, 17, 2, 3, 4, 5, 6, 10, 11, 3, 30, 64, 66, 67,
68, 69, 34, 35, 37, 39, 2, 17, 18, 99, 100, 102, 103, 67, 70,
72), y = c(2268.14043972082, 2147.62290922552, 2269.1387550775,
2247.31983098201, 1903.39138268307, 2174.78291538358, 2359.51909126411,
2488.39004804939, 212.851575751527, 461.398994384333, 567.150629704352,
781.775113821961, 918.303706148872, 1107.37695799186, 1160.80594193377,
1412.61328924168, 1689.48879626486, 260.737164468854, 306.72700499362,
283.410379620422, 366.813913489692, 387.570173754128, 388.602676983443,
477.858510450125, 128.198042456082, 535.519377609133, 1028.8780498564, …Run Code Online (Sandbox Code Playgroud) 我想使用Rook构建一个简单的Web服务器,但是在R-Studio中尝试时我遇到了一些奇怪的错误:
代码
library(Rook)
s <- Rhttpd$new()
s$start()
print(s)
Run Code Online (Sandbox Code Playgroud)
返回相当无用的错误
"listenPort> 0时出错:比较(6)仅适用于原子和列表类型".
在简单的R-Console中尝试相同的代码时,一切正常 - 所以我想了解为什么会发生这种情况以及如何解决它.
RStudio版本为0.99.484,R为R 3.2.2
我正在尝试在 r 中编写一个函数,其中包含带有三个选项的命名参数。(我想做的是找到正态曲线的右尾部、左尾部或两个尾部的面积。)这可能吗?我已经想出了这个,但是当我尝试使用时出现错误right=BOTH.
st.pnorm<-function(x,\xc2\xb5,\xc3\xb8,right=c(\'TRUE\',\'FALSE\',\'BOTH\')){ \n if (right==FALSE) return({pnorm((x-\xc2\xb5)/\xc3\xb8)}) \n if (right==TRUE) return({1-(pnorm((x-\xc2\xb5)/\xc3\xb8))}) \n if (right==BOTH) return({x*2}) \n} \nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\nst.pnorm(19.4,11,8.4,right=\'BOTH\')
\n
\n st.pnorm(19.4, 11, 8.4, right = "BOTH") 中的错误:
\n 未找到对象 \'BOTH\'
(我知道 x*2 不正确,但我想看看在实际编写代码之前是否可以使其在结构上工作。)
\n我正在测试R中的一些web scrape脚本.我已经阅读了很多教程,文档并尝试了不同的东西,但到目前为止还没有成功.
我试图抓取的URL就是这个.它有公共,政府数据,没有针对网络抓取工具的声明.它是葡萄牙语,但我相信这不会是一个大问题.
它显示了一个包含多个字段的搜索表单.我的测试是搜索来自特定州("RJ",在这种情况下,该字段是"UF")和城市("Rio de Janeiro",在"MUNICIPIO"字段中)的数据.通过单击"Pesquisar"(搜索),它显示以下输出:
使用Firebug,我发现它调用的URL(使用上面的参数)是:
http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/home.seam?buscaForm=buscaForm&codEntidadeDecorate%3AcodEntidadeInput=&noEntidadeDecorate%3AnoEntidadeInput=&descEnderecoDecorate%3AdescEnderecoInput=&estadoDecorate%3A**estadoSelect=33**&municipioDecorate%3A**municipioSelect=3304557**&bairroDecorate%3AbairroInput=&pesquisar.x=42&pesquisar.y=16&javax.faces.ViewState=j_id10
Run Code Online (Sandbox Code Playgroud)
该网站使用jsessionid,使用以下内容可以看到:
library(rvest)
library(httr)
url <- GET("http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/")
cookies(url)
Run Code Online (Sandbox Code Playgroud)
知道它使用了jsessionid,我使用cookies(url)检查这些信息,并将其用于这样的新URL:
url <- read_html("http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/home.seam;jsessionid=008142964577DBEC622E6D0C8AF2F034?buscaForm=buscaForm&codEntidadeDecorate%3AcodEntidadeInput=33108064&noEntidadeDecorate%3AnoEntidadeInput=&descEnderecoDecorate%3AdescEnderecoInput=&estadoDecorate%3AestadoSelect=org.jboss.seam.ui.NoSelectionConverter.noSelectionValue&bairroDecorate%3AbairroInput=&pesquisar.x=65&pesquisar.y=8&javax.faces.ViewState=j_id2")
html_text(url)
Run Code Online (Sandbox Code Playgroud)
好吧,输出没有数据.实际上,它有一条错误消息.翻译成英文,它基本上说会话已经过期.
我认为这是一个基本的错误,但我四处寻找并找不到克服这个问题的方法.
我正在尝试使用rvest包从CABI入侵物种纲要中提取入侵植物物种位置的数据.
看了几个教程,我发现我应该能够很容易地从表中抓取数据.但是,我一直遇到困难.
假设我想要品种Brassica tournefortii的位置数据.我应该能够使用此代码,该代码使用此处概述的技术来获取物种记录位置的详细信息.
library(rvest)
isc<-read_html("http://www.cabi.org/isc/datasheet/50069")
isc %>%
html_node("#toDistributionTable td:nth-child(1)") %>%
html_text()
Run Code Online (Sandbox Code Playgroud)
但是,运行此代码我收到错误
Error: No matches
Run Code Online (Sandbox Code Playgroud)
我是webscraping的新手.我做错了什么吗?