我正在开发我的第一个R包(使用R 2.13,Ubuntu 10.10).让我们称它为foo,让我们说R /目录中的代码以行库(bar)开头,其中bar是CRAN中的现有包,foo依赖于它.我的DESCRIPTION文件包含以下行:
Depends: bar
Run Code Online (Sandbox Code Playgroud)
当包foo准备好进行测试时,我使用以下方法在本地安装它:
R CMD INSTALL foo_1.0.tar.gz
Run Code Online (Sandbox Code Playgroud)
但是,如果没有安装bar,我会看到:
ERROR: dependency ‘bar’ is not available for package ‘foo’
Run Code Online (Sandbox Code Playgroud)
显然,如果我的foo是使用install.packages()从CRAN安装的,那么bar将同时安装.所以我的问题是:当我使用R CMD INSTALL 安装我的软件包foo时,如果需要,如何确保安装CRAN软件包栏?这是配置脚本的工作吗?
我正在尝试使用Ruby的Nokogiri来解析大型(1 GB或更多)XML文件.我在一个较小的文件上测试代码,这里只包含4条记录.我在Ubuntu 10.10上使用Nokogiri版本1.5.0,Ruby 1.8.7.由于我不太了解SAX,我正在尝试使用Nokogiri :: XML :: Reader.
我第一次尝试检索PMID标记的内容,如下所示:
#!/usr/bin/ruby
require "rubygems"
require "nokogiri"
file = ARGV[0]
reader = Nokogiri::XML::Reader(File.open(file))
p = []
reader.each do |node|
if node.name == "PMID"
p << node.inner_xml
end
end
puts p.inspect
Run Code Online (Sandbox Code Playgroud)
这是我希望看到的:
["21714156", "21693734", "21692271", "21692260"]
Run Code Online (Sandbox Code Playgroud)
这是我实际看到的:
["21714156", "", "21693734", "", "21692271", "", "21692260", ""]
Run Code Online (Sandbox Code Playgroud)
似乎由于某种原因,我的代码为每个PMID实例找到或生成一个额外的空PMID标记.无论是那个还是inner_xml不像我想的那样工作.
如果有人能确认我的代码和数据生成显示的结果并建议我出错的地方,我将不胜感激.
我有以下文档,我试图用Rstudio编译:
---
title:
shorttitle:
author:
bibliography:
- library.bib
output: papaja::apa6_pdf
---
```{r message = FALSE, warning = FALSE}
library("papaja")
apa_prepare_doc() # Prepare document for rendering
```
# Introduction
@Bakan1966
# References
```{r create_r-references}
r_refs(file = "r-references.bib")
```
Run Code Online (Sandbox Code Playgroud)
当我运行knit时,它会编译.md文件,但是pandoc会出错:
pandoc-citeproc: "stdin" (line 232, column 2):
unexpected "a"
expecting "c", "C", "p", "P", "s" or "S"
pandoc: Error running filter /Applications/RStudio.app/Contents/MacOS/pandoc/pandoc-citeproc
Error: pandoc document conversion failed with error 83
In addition: Warning messages:
1: In yaml::yaml.load(enc2utf8(string), ...) :
NAs introduced by coercion: …Run Code Online (Sandbox Code Playgroud) 我希望添加一个小的白色文本框,在我的ggplot图的主体中添加自定义文本.我要添加的文字是识别我添加到图中的水平线.
ggplot(cb_emp) +
geom_point(aes(x = grossunits,
y = rate,
color = as.factor(outlier))
, alpha = 1/4) +
scale_color_discrete(name ="Outcome",
breaks=c(0, 1),
labels=c("Not outlier", "Outlier")) +
geom_hline(aes(yintercept = meancbrate)) +
geom_vline(aes(xintercept = meanac) +
annotate("text", x = max(grossunits), y = meancbrate, label = "avg rate")
Run Code Online (Sandbox Code Playgroud)
这是我得到的情节:
这是我想要的情节(或类似的东西):
如果有一种简单的方法可以实现这一点,请告诉我.
非常感谢帮助!
我刚刚开始阅读 R 的数据科学知识。
我上传了 tidyverse、palmer penguins 和 ggthemes
palmerpenguins::penguins
ggplot(data = penguins)
Run Code Online (Sandbox Code Playgroud)
.standalone_types_check_dot_call 中的错误(ffi_standalone_check_number_1.0.7,:找不到对象“ffi_standalone_check_number_1.0.7”
谁能告诉我我已经做错了什么?非常感激。
我需要添加一个平均线和模式的值,例如这种情节:
我用这个来计算垃圾箱的数量:
bw <- diff(range(cars$lenght)) / (2 * IQR(cars$lenght) / length(cars$lenght)^(1/3))
Run Code Online (Sandbox Code Playgroud)
情节:
ggplot(data=cars, aes(cars$lenght)) +
geom_histogram(aes(y =..density..),
col="red",
binwidth = bw,
fill="green",
alpha=1) +
geom_density(col=4) +
labs(title='Lenght Plot', x='Lenght', y='Times')
cars$lenght
Run Code Online (Sandbox Code Playgroud)
168.8 168.8 171.2 176.6 176.6 177.3 192.7 192.7 192.7 178.2 176.8 176.8 176.8 176.8 189.0 189.0 193.8 197.0 141.1 155.9 158.8 157.3 157.3 157.3 157.3 157.3 157.3 157.3 174.6 173.2
提前致谢.
作为新用户,由于不可重现,我的问题没有得到充分回答.我阅读了有关生成可重现代码但有用的线程.特别是如何使用dput()函数丢失了.
有人可以一步一步地提供如何使用iris df来使用dput(),例如它会非常有用.
我面临着如何重新打开我不小心在 Github 上关闭的拉取请求的问题。我搜索了其他人的问题,答案大多是使用重新打开按钮,但这对我不起作用。有谁知道如何解决这个问题?
可以像这样保存和读取对象
# Save as file
saveRDS(iris, "mydata.RDS")
# Read back in
readRDS("mydata.RDS")
Run Code Online (Sandbox Code Playgroud)
但这似乎不适用于用 xml2::read_html()
library(rvest)
someobject <- read_html("https://stackoverflow.com/")
saveRDS(someobject, "someobject.RDS")
Run Code Online (Sandbox Code Playgroud)
它创建了一个文件,但不像预期的那样
readRDS("someobject.RDS")
Error in doc_is_html(x$doc) : external pointer is not valid
Run Code Online (Sandbox Code Playgroud)
发生了什么以及保存 html 对象的最简单方法是什么,以便它可以用最少的代码/大惊小怪加载回来?
为什么 ggplot 一直给我一个月的第一天然后绘制时间序列。
这是我的代码示例:
library(ggplot2)
library(dplyr)
date <- as.Date(c("2008-01-31",
"2008-02-29",
"2008-03-31",
"2008-04-30",
"2008-05-31"))
count <- sample(5)
df <- data.frame(date = date, count = count)
df %>%
ggplot(aes(x = date, y = count))+
geom_line()+
scale_x_date(date_breaks = "1 month",
date_labels = '%m/%d')
Run Code Online (Sandbox Code Playgroud)
我希望 x 轴显示从df该月的最后一天或最后一天开始的实际日期。但它显示的是下个月的第一天。
我尝试搜索此问题,但找不到适用的解决方案。
谢谢。