我想在R中仅在本地设置种子(内部函数),但似乎R不仅在本地设置种子,而且在全局设置种子.这是我正在尝试(不)做的一个简单示例.
myfunction <- function () {
set.seed(2)
}
# now, whenever I run the two commands below I'll get the same answer
myfunction()
runif(1)
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:为什么R在全局设置种子,而不仅仅是在我的函数中?以及如何让R只在我的函数中设置种子?
我想用R提取Google Scholar搜索的前100个结果(比如说).有谁知道怎么做?
确切地说,我只需要论文的名称,作者和引文数.
这是合法的吗?
我有一个Xoom平板电脑,如果我可以使用R进行统计分析,那就太棒了.据我所知,由于许可证问题(GPl x iTunes等)以及苹果平板电脑中缺少Fortran编译器,因此无法在iPad上使用R.
但是使用Android的平板电脑怎么样?可以说,GPL问题不是问题,所以有关如何在平板电脑上使用R的任何帮助吗?
我有一个data.frame真的很大(实际上是一个data.table).现在,为简化起见,我们假设我的data.frame如下:
x <- c(1, 1, 0, 0, 1, 0, 0, NA, NA, 0)
y <- c(1 ,0 ,NA, NA, 0, 0, 0, 1, 1, 0)
mydf <- data.frame(rbind(x,y))
Run Code Online (Sandbox Code Playgroud)
我想确定哪一行(如果有的话)最后一个序列由三个连续的零形成,而不是考虑NA.因此,在上面的示例中,第一行在最后一个序列中有三个连续的零,但不是第二个.
如果我只有一个向量(不是data.frame),我知道如何做到这一点:
runs <- rle(x[is.na(x)==F])
runs$lengths[length(runs$lengths)] > 2 & runs$values[length(runs$lengths)]==0
Run Code Online (Sandbox Code Playgroud)
我显然可以做一个循环,我会得到我想要的东西.但它的效率非常低,我的实际数据框架非常大.那么,关于如何以最快的方式做的任何想法?
我猜申请可能很有用,但我现在无法考虑使用它.此外,也许有一种data.table方式这样做?
ps.:实际上,这个data.frame是我原始data.table的重新整形版本.如果以某种方式我可以使用原始格式的data.frame完成工作,那没关系.要了解我的data.frame原来是什么,只需将其视为:
x <- c(1, 1, 0, 0, 1, 0, 0, 0)
y <- c(1 ,0 , 0, 0, 0, 1, 1, 0)
myOriginalDf <- data.frame(value=c(x,y), id=rep(c('x','y'), c(length(x), length(y))))
Run Code Online (Sandbox Code Playgroud) 我正在尝试添加位于我的计算机上的图像,但它无法正常工作.我创建了一个test.html文件,当我用浏览器(firefox)打开它时,它会渲染图像.但是当我尝试使用与Shiny相同的代码时,它不起作用.以下是我正在尝试的代码:
#html Code
<!DOCTYPE html>
<html>
<head>
<title>
Corinthians
</title>
</head>
<body>
<p>
Vai corinthians
</p>
<img id="stats_logo" align="right" src="file:///H://lab/comunicacao/logo hyper/logo_hyp.jpg" />
</body>
</html>
## Shiny Code
headerPanel_2(
HTML(
'<div id="stats_header">
Relatório de Horas
<a href="http://hyperativa.com.br/" target="_blank">
<img id="stats_logo" align="right" alt="" src="file:///H://lab/comunicacao/logo hyper/logo_hyp.jpg" />
</a>
</div>'
), h3, "Relatório de Horas"
)
Run Code Online (Sandbox Code Playgroud)
这是functionm,headerPanel_2.我正在使用:
headerPanel_2 <- function(title, h, windowTitle=title) {
tagList(
tags$head(tags$title(windowTitle)),
h(title)
)
}
Run Code Online (Sandbox Code Playgroud)
我认为,代码中的关键是"src ="file:/// H:// lab/comunicacao/logo hyper/logo_hyp.jpg".那有什么问题?我怎么说闪亮在哪里?该文件位于我的电脑上?
我正在尝试网页抓取一页.但是,我的循环不时会起作用,因为解析器"无法加载HTTP资源".问题是页面没有加载到我的浏览器中,所以这不是代码的问题.
但是,在为每个发现错误的页面创建异常后重新启动进程非常烦人.我想知道是否有办法放置if条件.我想的是:如果发生错误,那么在下一步重启循环.
我找了htmlParse的帮助页面,发现有一个错误参数,但不知道如何使用它.我的if条件的任何想法?
以下是可重现的示例:
if(require(RCurl) == F) install.packages('RCurl')
if(require(XML) == F) install.packages('XML')
if(require(seqinr) == F) install.packages('seqinr')
for (i in 575:585){
currentPage <- i # define pagina inicial da busca
# Link que ser? procurado
link <- paste("http://www.cnj.jus.br/improbidade_adm/visualizar_condenacao.php?seq_condenacao=",
currentPage,
sep='')
doc <- htmlParse(link, encoding = "UTF-8") #this will preserve characters
tables <- readHTMLTable(doc, stringsAsFactors = FALSE)
if(length(tables) != 0) {
tabela2 <- as.data.frame(tables[10])
tabela2[,1] <- gsub( "\\n", " ", tabela2[,1] )
tabela2[,2] <- gsub( "\\n", " ", tabela2[,2] )
tabela2[,2] <- …Run Code Online (Sandbox Code Playgroud) 我想在R中运行两阶段概率最小二乘回归.有谁知道如何做到这一点?那里有包裹吗?我知道使用Stata可以做到这一点,所以我想可以用R做它.
我正在SO 阅读这个问题,并想知道是否有任何方式以矢量化的方式使用is.numeric.关键是,如果你有一个矢量化的方法来检查一个变量是否是数字,那么任何依赖于数字变量的函数都可以被矢量化.否则,它无法进行矢量化.
我在避免在图形中重叠标签时遇到问题.我看一下类似的问题,但没有一个能帮我解决问题.下面我提供了一个可重复的例子.另外,我不明白为什么direct.labels没有为每个标签选择合适的颜色.
mydf <- structure(list(ano = c(1970, 1975, 1980, 1985, 1990, 1995, 2000,
2004, 2005, 2006, 2007, 2008, 2009, 1970, 1975, 1980, 1985, 1990,
1995, 2000, 2004, 2005, 2006, 2007, 2008, 2009, 1970, 1975, 1980,
1985, 1990, 1995, 2000, 2004, 2005, 2006, 2007, 2008, 2009, 1970,
1975, 1980, 1985, 1990, 1995, 2000, 2004, 2005, 2006, 2007, 2008,
2009, 1970, 1975, 1980, 1985, 1990, 1995, 2000, 2004, 2005, 2006,
2007, 2008, 2009, 1970, 1975, 1980, 1985, 1990, 1995, 2000, 2004,
2005, 2006, …Run Code Online (Sandbox Code Playgroud) 我想创建27个矩阵,其中包含2列和可变数量的行.我可以写出27行代码,如下所示:
x1 = cbind(rep(1,34), rnorm(34))
x2 = cbind(rep(1,36), rnorm(36))
Run Code Online (Sandbox Code Playgroud)
....
x27 = cbind(rep(1,k), rnorm(k))
Run Code Online (Sandbox Code Playgroud)
但它必须有更好的方法来做到这一点.我想到了一个循环,像这样:
aux = c(34, 36, ..., k) # auxiliar variable with number of rows for each matrix
for (i in 1:27) paste("x",i, sep="") = cbind(rep(1,aux[i]), rnorm(aux[i]))
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.我觉得这是一项简单的任务,但我没有想法.
有帮助吗?
ps.:我想到了一个数组,但我无法使用它.也许一份清单可以完成这项工作,我不知道.
我有一个字符串列表,对于每个字符串,我需要在最后一个斜杠后用"_"替换所有空格.这是一个可重复的最小例子.
my_list <- list("abc/as 345/as df.pdf", "adf3344/aer4 ffsd.doc", "abc/3455/dfr.xls", "abc/3455/dfr serf_dff.xls", "abc/34 5 5/dfr 345 dsdf 334.pdf")
Run Code Online (Sandbox Code Playgroud)
更换后,结果应该是:
list("abc/as 345/as_df.pdf", "adf3344/aer4_ffsd.doc", "abc/3455/dfr.xls", "abc/3455/dfr_serf_dff.xls", "abc/34 5 5/dfr_345_dsdf_334.pdf")
Run Code Online (Sandbox Code Playgroud)
我想在最后一个斜杠后使用正则表达式匹配文本,然后将""替换为"_",但没有找到实现它的方法.它将是这样的:
gsub(pattern, "_", my_list),在哪种模式中将是一个正则表达式:在最后一个斜杠之后匹配每个空格(列表的每个元素中至少有一个斜杠).
我必须使用LU分解将简单模型拟合到C中的某些数据(模拟)。在这里我需要做的一个例子:
但是,我遇到了一个更基本的问题:如何在C中安装软件包并在代码中调用它们?
我是C语言的新手,并且习惯于R。但是我有这样的要求来做一些关于矩阵求逆,LU分解的测试,而教授建议使用Lapack来简化事情(因此,我不需要自己编写代码LU分解等)。但是我不知道如何安装该软件包并在我的代码中调用它,以便使用LAPACK的功能。
我有一个Windows 7 64位,正在使用编译器代码块8.02
谢谢你的帮助。