小编inf*_*keR的帖子

使用并行化来用R刮取网页

我试图刮掉大量的网页,以便以后分析它们.由于URL的数量巨大,我决定使用该parallelXML.

具体来说,我正在使用htmlParse()函数from XML,它在使用时工作正常sapply,但在使用时会生成类HTMLInternalDocument的空对象parSapply.

url1<- "http://forums.philosophyforums.com/threads/senses-of-truth-63636.html"
url2<- "http://forums.philosophyforums.com/threads/the-limits-of-my-language-impossibly-mean-the-limits-of-my-world-62183.html"
url3<- "http://forums.philosophyforums.com/threads/how-language-models-reality-63487.html"

myFunction<- function(x){
cl<- makeCluster(getOption("cl.cores",detectCores()))
ok<- parSapply(cl=cl,X=x,FUN=htmlParse)
return(ok)
}

urls<- c(url1,url2,url3)

#Works
output1<- sapply(urls,function(x)htmlParse(x))
str(output1[[1]])
> Classes 'HTMLInternalDocument', 'HTMLInternalDocument', 'XMLInternalDocument', 'XMLAbstractDocument', 'oldClass' <externalptr>
output1[[1]]


#Doesn't work
myFunction<- function(x){
cl<- makeCluster(getOption("cl.cores",detectCores()))
ok<- parSapply(cl=cl,X=x,FUN=htmlParse)
stopCluster(cl)
return(ok)
}

output2<- myFunction(urls)
str(output2[[1]])
> Classes 'HTMLInternalDocument', 'HTMLInternalDocument', 'XMLInternalDocument', 'XMLAbstractDocument', 'oldClass' <externalptr>
output2[[1]]
#empty
Run Code Online (Sandbox Code Playgroud)

谢谢.

xml parallel-processing r

7
推荐指数
1
解决办法
1034
查看次数

在Slidify的幻灯片中渲染rCharts

最近我一直在试验slidifyrCharts.使用slidify生成简单图表的教程是解释性的,但我无法找到任何关于rCharts的教程.

例如,我知道以下内容会生成交互式图

data(mtcars)    
r1<- rPlot(mpg ~ wt | am + vs, data=mtcars, type="point")
data(iris)
hair_eye = as.data.frame(HairEyeColor)
rPlot(Freq ~ Hair | Eye,color = 'Eye', data = hair_eye, type = 'bar')
Run Code Online (Sandbox Code Playgroud)

但是,我知道如何将结果绘图合并到我的幻灯片中slidify.

编辑 - 有用的评论后

我在Ramnath的git上看到了以下内容:

---
title       : Practice
subtitle    : makes perfect
author      : Noob
job         : 
framework   : io2012        # {io2012, html5slides, shower, dzslides, ...}
highlighter : highlight.js  # {highlight.js, prettify, highlight}
hitheme     : tomorrow      # 
widgets     : …
Run Code Online (Sandbox Code Playgroud)

r slidify rcharts

6
推荐指数
1
解决办法
3801
查看次数

Shiny中出现意外的输入错误,但无法找到错误源

我在UI.R中收到意外输入错误,如下所示:

ERROR: C:\Users\myApp/ui.R:1:2: unexpected input 
1: ï»
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在第1行定位错误时,绝对没有任何形式ï»

要解决此错误,我尝试将UI.R文件另存为文本文件并将编码更改为UTF-8,但这仍然不能删除奇怪的字符。我还尝试删除了前几行并重新编写了代码,但仍然给出了相同的错误!

如何删除该字符?我应该使用其他文本编辑器吗?我正在使用基本R,而不是R Studio。如果需要该信息,我已经从GitHub帐户中粘贴了我的代码...可以在此处查看我文件的代码。

非常感谢。

encoding r character-encoding shiny

5
推荐指数
1
解决办法
1555
查看次数

使用所选列中的所有值的最大值有条件地更新某些列(data.table,r)

我有900,000 x 500类型的数据集,但下面显示了适合该问题的玩具数据集.

library(data.table)
df1 <- data.table(x = c(1,2,4,0), y = c(0,0,10,15), z = c(1,1,1,0))
Run Code Online (Sandbox Code Playgroud)

我想做以下事情:

  1. 对于y和z列
  2. 选择行的值= 0
  3. 用max + 1替换它们,其中max是在整个列上计算的

我是data.table的新手.在stackoverflow上查看问题的示例,我找不到类似的问题,除了这个: 如何替换表*中的NA值用于所选列*?data.frame,data.table

我自己的尝试如下,但这不起作用:

for (col in c("x", "y")) df1[(get(col)) == 0, (col) := max(col) + 1)
Run Code Online (Sandbox Code Playgroud)

显然,我还没有习惯data.table,所以我现在正撞在墙上......

如果有人能提供dplyr解决方案data.table,我会很感激.

r data.table

3
推荐指数
1
解决办法
164
查看次数

从列表中的数据框中提取列以生成最终的组合数据框

道歉,返回listsdataframesR一段时间后,所以忘了我约的方式.假设我在列表中有几个数据帧:

d2<- data.frame(week=c("12th","13th","14th"),value=c(1,20,100))
d1<- data.frame(week=c("12th","13th","14th"),value=c(1,10,15))
d3<- data.frame(week=c("12th","13th","14th"),value=c(1,220,30))
dfList<- list(d1,d2,d3)

dfList
[[1]]
  week value
1 12th     1
2 13th    10
3 14th    15

[[2]]
  week value
1 12th     1
2 13th    20
3 14th   100

[[3]]
  week value
1 12th     1
2 13th   220
3 14th    30
Run Code Online (Sandbox Code Playgroud)

我希望有一个带有组合数据的最终数据框,其形状如下

finalDf<- data.frame(week=c("12th","13th","14th"),value1=c(1,20,100),value2=c(1,10,15),value3=c(1,220,30))

  week value1 value2 value3
1 12th      1      1      1
2 13th     20     10    220
3 14th    100     15     30
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现上述数据形式?另外,如果我的初始数据帧也有NAs,我想在实现最终数据形式之前删除它?

非常感谢.

r dataframe reshape2

0
推荐指数
1
解决办法
102
查看次数