caught segfault
每次我尝试从ggplot2
包(1.0.0)运行任何绘图函数时,我都会收到错误.我有试过这个qplot
,geom_dotplot
,geom_histogram
,从包装等数据(例如diamonds
或economics
)工作得很好.
我在Mac OS 10.9.4(最新版本)和R 3.1.1(也是最新版本)上运行.我从标准的R GUI,RStudio和从命令行使用R时得到了同样的错误.该命令将显示默认图形设备(Quartz for R GUI和命令行),但也会显示终端错误.
library(ggplot2)
qplot(1:10)
Run Code Online (Sandbox Code Playgroud)
给我错误:
*** caught segfault ***
address 0x18, cause 'memory not mapped'
Traceback:
1: .Call("plyr_split_indices", PACKAGE = "plyr", group, n)
2: split_indices(scale_id, n)
3: scale_apply(layer_data, x_vars, scale_train, SCALE_X, panel$x_scales)
4: train_position(panel, data, scale_x(), scale_y())
5: ggplot_build(x)
6: print.ggplot(list(data = list(), layers = list(<environment>), scales = <S4 object of class "Scales">, mapping = list(x = 1:3), theme …
Run Code Online (Sandbox Code Playgroud) 我在CRAN上有一个包,我想添加一个ChangeLog
for,但我无法在任何地方找到有关如何执行此操作的信息.
我查看了CRAN提供的"Writing R Extensions"文档,但它只提到了ChangeLogs并没有给出关于如何创建一个的指示(我可以找到).
我注意到从CRAN上的其他软件包下载tarball(例如seacarb
)他们的ChangeLogs是Unix可执行文件(我在Mac上),所以这不太有用.
我想这是一个常见的问题,但谷歌搜索"changelog R package"
只是为真正受欢迎的软件包带来了ChangeLogs ......
假设我有以下数字向量:
vec = c(1, 2, 3, 5, 7, 8, 9, 10, 11, 12)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个函数,它将创建一个字符串,以人类的方式总结数字列表,即
"1-3, 5, 7-12"
Run Code Online (Sandbox Code Playgroud)
我怎么能在R中这样做?
我想确定给定日期的向量中最接近的日期.假设我有以下日期向量(有5个随机日期):
coldate= as.Date(c("2013-08-03", "2013-09-04", "2013-09-08", "2013-09-12", "2013-11-01"));
Run Code Online (Sandbox Code Playgroud)
现在,我想x = as.Date("2013-10-01")
在这个向量中找到最接近的日期.
这是我的代码:
> which((coldate-x) == min(coldate-x))
[1] 1
Run Code Online (Sandbox Code Playgroud)
结果应该是4,因为日期"2013-09-12"
是最接近的.但是,我有1 ...我的代码有什么问题?
鉴于功能f()
如下:
f = function(a) {
if(a > 0) b = 2
c = exists('b')
return(c)
}
Run Code Online (Sandbox Code Playgroud)
如何指定该exists()
函数只应在函数内搜索f
?
在空白的环境中,呼叫f(-5)
将FALSE
按照我的意愿返回,但如果我这样做的话
b = "hello"
f(-5)
Run Code Online (Sandbox Code Playgroud)
然后我明白了TRUE
.即使用户在函数外部的脚本中已经定义了其他地方,我该如何f(-5)
返回?FALSE
b
f
我希望这与where
参数有关,exists()
但我无法弄清楚调用此参数的正确环境是什么.我仍然没有把头完全包裹在R的环境中......
谢谢!
我是一个R新手试图将植物光合作用光响应曲线(饱和,曲线)适合专家接受的特定模型.目标是获得Am,Rd和LCP的估计系数值.这是我一直得到的错误:
Error in numericDeriv(form[[3L]], names(ind), env) :
Missing value or an infinity produced when evaluating the model
Run Code Online (Sandbox Code Playgroud)
我已多次切换起始值,但仍然没有运气.救命?提前谢谢你.下面的示例数据集.
photolrc= c(3.089753, 6.336478, 7.737142, 8.004812, 8.031599)
PARlrc= c(48.69624, 200.08539, 499.29840, 749.59222, 1250.09363)
curvelrc<-data.frame(PARlrc,photolrc)
curve.nlslrc = nls(photolrc ~ Am*(1-((1-(Rd/Am))^(1-(PARlrc/LCP)))),start=list(Am=(max(photolrc)-min(photolrc)),Rd=-min(photolrc),LCP= (max(photolrc)-1)))
coef(curve.nlslrc)
Run Code Online (Sandbox Code Playgroud) 我有一个.Rnw
文档,我想从多绘图块中引用一个图.我该怎么做呢?
例:
\documentclass{article}
\begin{document}
<<single_chunk, fig.cap="hi">>=
plot(1:5)
@
I can reference this single chunk fine! See \ref{fig:single_chunk}.
<<multichunk, fig.cap="hello">>=
plot(1:10)
plot(10:1)
@
The first figure is great, but \ref{fig:multichunk}. Try again \ref{fig:multichunk-1}.
\end{document}
Run Code Online (Sandbox Code Playgroud)
这两种尝试都会导致??
.
假设我有以下情节:
library(ggplot2)
d = subset(diamonds, price >= 257 & price <= 8888)
ggplot(d, aes(depth, carat, colour = price)) +
geom_point() +
scale_colour_gradient(limits = c(257, 8888))
Run Code Online (Sandbox Code Playgroud)
如何更改图例以便刻度线标签显示最小值和最大值(257 和 8888)?我想让读者知道图例的限制是什么,而不是去猜测。
我有一个像这样的函数:
foo = function(time_in){
# code here that changes POSIXct to numeric
time_out = as.POSIXct(time_in, origin = '1970-01-01')
}
Run Code Online (Sandbox Code Playgroud)
用户time_in
作为 POSIXct 对象输入的位置。我在线性模型 ( lm()
) 中使用此参数,该模型将我的值以数字形式返回。最后,我想将其转换回我的用户的 POSIXct 对象。问题是,as.POSIXct()
需要一个origin
通常为 UTC 时间 1970 年 1 月 1 日的时间。但是,如果我的用户在不同的来源工作怎么办?我如何提取起源time_in
并将其用作 的参数time_out
?
我已经查找了有关如何获取原点的文档,但是str(time_in)
没有attributes(time_in)
给我任何东西,而且我还没有找到更多其他内容。由于这将位于一个包中,因此我想坚持使用基本 R 函数来限制所需的依赖项数量。
有没有办法从textInput()
UI中的其他地方显示价值,而不必server.R
像下面那样经历一些非常冗长的东西?
ui.R
library(shiny)
shinyUI(
fluidPage(
textInput('text_in', label = 'Write text here'),
# elsewhere in the UI...
textOutput('text_out')
))
Run Code Online (Sandbox Code Playgroud)
server.R
library(shiny)
shinyServer(function(input, output) {
output$text_out = renderText(input$text_in)
})
Run Code Online (Sandbox Code Playgroud)
对于这个例子来说并不是太糟糕,但是当我需要多次这样做时它会变得非常冗长.我的愿望是收集用户在整个应用程序中输入的所有输入,并在最后将它们编译成一个漂亮的表格,以便他们可以确认所有内容都是正确的.
我已经看到你在使用JavaScript表达式时可以引用输入元素而无需通过服务器conditionalPanel()
但是我不确定如何在这个特定实例之外实现它.