我花了一个星期用knitr写了一个R小插图,在R Markdown中输入,用HTML输出.以前我写的所有小插曲都是带有PDF目标的Sweave.
我想念的其中一件事是Synctex,它能够从PDF预览跳回到文件中的相应行.据我所知,knitr在生成LaTeX输出时支持这一点(我认为使用与Sweave相同的方案),但在生成HTML输出时则不支持.
我知道HTML Mark的R Markdown是通过pandoc进行的,所以我检查了pandoc文档,但是在那里找不到任何关于Synctex的内容.
所以我的问题是:
是否有任何支持Synctex的HTML浏览器可以从编辑器进行正向和反向搜索?(由于RStudio有自己的内置浏览器,它可能会这样做...)
pandoc是否支持任何类似Sweave的方案,用于将HTML文件中的输出位置与.md输入中的输入位置相关联?
在构建一个简单的测试包以隔离此问题后,我在运行时收到以下警告Rcmd.exe INSTALL --nomultiarch --with-keep.source simpleTest
:
* installing to library 'C:/Users/user/Documents/R-dev'
* installing *source* package 'simpleTest' ...
** R
** preparing package for lazy loading
** help
*** installing help indices
converting help for package 'simpleTest'
finding HTML links ... hello html
Rd warning: C:/user/RPackages/simpleTest/man/hello.Rd:11: missing file link 'transmute'
done
** building package indices
** testing if installed package can be loaded
* DONE (simpleTest)
Run Code Online (Sandbox Code Playgroud)
当您链接到指向不同名称的Rd文件的函数时,会发生此问题.举例来说,在我的SimpleTest的包,文档链接到两个dplyr::mutate()
和dplyr::transmute()
,这两者都记录在mutate.Rd文件.前一个链接不会导致Rd警告,而后者则会.但是,当您查看当前包的帮助页面时,这两个链接都有效.
simpleTest包的.R文件包含在下面.我运行devtools::document()
然后在骨架包目录中构建包.
hello.R
#' print hello
#'
#' …
Run Code Online (Sandbox Code Playgroud) 我想使用plot3d()
(rgl)绘制具有3维的MDS分析的结果.数据和代码如下所示:
threedim$points
[,1] [,2] [,3] [,4]
Dutch -6.45931417 -2.1589222 -5.829244 -0.4891066
German -7.27770201 0.2666916 -2.198595 6.8658602
Albanian 4.11799731 0.6810336 11.356935 -2.2623921
Armenian 13.58431670 21.6527626 -2.245146 6.3506665
French -0.24170759 -0.8579159 14.197611 -0.1871443
threedim$points[,1] -> x
threedim$points[,2] -> y
threedim$points[,3] -> z
library(rgl)
plot3d(x,y,z)
text(c("Dutch","German","Albanian","Armenian","French"))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
"警告信息:在xy.coords(x,y,recycle = TRUE):由强制引入的NAs"
我究竟做错了什么?
我正在尝试将 spark 数据帧转换org.apache.spark.sql.DataFrame
为 sparklyr 表tbl_spark
。我尝试过sdf_register
,但失败并出现以下错误。
在这里, df 是火花数据帧。
sdf_register(df, name = "my_tbl")
Run Code Online (Sandbox Code Playgroud)
错误是,
Error: org.apache.spark.sql.AnalysisException: Table not found: my_tbl; line 2 pos 17
at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.getTable(Analyzer.scala:306)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$9.applyOrElse(Analyzer.scala:315)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$9.applyOrElse(Analyzer.scala:310)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveOperators$1.apply(LogicalPlan.scala:57)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveOperators$1.apply(LogicalPlan.scala:57)
at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveOperators(LogicalPlan.scala:56)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$1.apply(LogicalPlan.scala:54)
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$1.apply(LogicalPlan.scala:54)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:281)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?或者有没有更好的方法将其转换为tbl_spark
?
谢谢!
我正在尝试将复选框放入 DT 表并收集有关已选中行的信息。
我的代码如下
shinyApp(
ui = fluidPage(
fluidRow(
verbatimTextOutput("value1"),
column(12,
DT::dataTableOutput('table'), tags$script(HTML('$(document).on("click", "input", function () {
var checkboxes = document.getElementsByName("selected");
var checkboxesChecked = [];
for (var i=0; i<checkboxes.length; i++) {
if (checkboxes[i].checked) {
checkboxesChecked.push(checkboxes[i].value);
}
}
Shiny.onInputChange("checked_rows",checkboxesChecked); })'))
))),
server = function(input, output) {
library(DT)
library(glue)
output$value1 <- renderPrint({ input$checked_rows })
output$table <- DT::renderDataTable({
iris$checked<-''
iris$checked[2:5]<-'checked=\"checked\"'
iris[["Select"]]<-glue::glue('<input type="checkbox" name="selected" {iris$checked} value="{1:nrow(iris)}"><br>')
datatable(iris,escape=F,rownames=F, class = 'cell-border compact',
options=list(ordering=T,autowidth=F,scrollX = TRUE,
columnDefs = list(list(className = 'dt-center', targets = "_all"))
),
selection="none" …
Run Code Online (Sandbox Code Playgroud) 如果我有 .PNG 文件,是否有一种简单的方法可以在 RStudio 查看器窗格中显示它?
使用这个答案/sf/answers/652354601/我可以使用以下命令在绘图窗格中显示它
library(png)
filename <- system.file("img", "Rlogo.png", package="png") # or your own file
img <- readPNG(filename)
grid::grid.raster(img)
Run Code Online (Sandbox Code Playgroud)
将其放入查看器窗格的一种复杂方法是:
temp <- tempfile(fileext = ".html")
writeLines(as.character(htmltools::img(src=knitr::image_uri(filename))), temp)
getOption("viewer")(temp)
Run Code Online (Sandbox Code Playgroud)
但有没有更简单的方法呢?例如,某个包中是否有一个现有函数可以在一次调用中执行此操作,例如
showPNG(filename)
Run Code Online (Sandbox Code Playgroud)
?我可以在这样的函数中编写我的代码,但我更喜欢使用其他人已经过测试的代码,并且可能可以在更广泛的环境中工作,而不仅仅是 RStudio 等。
编辑添加:我一直在仔细研究我接受的答案(因为我想避免依赖于包magick
),并发现了一些令我惊讶的事情: if filename
is "preview.png"
,then getOption("viewer")(filename)
will do the display in the Viewer Pane。 magick::image_read
很灵活,可以处理许多其他情况,但对我来说基本上只是复制和重命名文件!
我试图在R上运行包"geomorph".我知道我需要安装包"rgl"和"geomorph"以及以下(分别)来执行此操作:
install.packages("rgl")
Run Code Online (Sandbox Code Playgroud)
然后我:
require("rgl")
Run Code Online (Sandbox Code Playgroud)
但是出现以下错误:
> require("rgl")
Loading required package: rgl
Error : .onLoad failed in loadNamespace() for 'rgl', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rgl/libs/rgl.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rgl/libs/rgl.so, 6): Library not loaded: /opt/X11/lib/libGLU.1.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/rgl/libs/rgl.so
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
请帮忙.可能是因为我在OS X Yosemite上运行R?我读到Yosemite目前存在一个错误或功能,导致R用户出错.
下面的文档运行 sql 并显示结果。我不希望通过不运行块或隐藏输出来显示任何输出。
有没有办法做到这一点?
---
output: html_document
---
## Hide SQL Output
First, set up a temporary database:
```{r}
library(RSQLite)
conn <- dbConnect(SQLite(), tempfile())
df <- data.frame(value = runif(1))
dbWriteTable(conn, "TestTable", df)
```
Now show a query, but try not to run it, and try
to hide the output. Neither works: it runs, and
displays the table.
```{sql connection = conn,results="hide",eval=FALSE}
SELECT * FROM TestTable;
```
Run Code Online (Sandbox Code Playgroud)
我想知道使用 Spark 函数的逻辑回归模型的每个系数的显着性ml_logistic_regression
。代码如下:
# data in R
library(MASS)
data(birthwt)
str(birthwt)
detach("package:MASS", unload=TRUE)
# Connection to Spark
library(sparklyr)
library(dplyr)
sc = spark_connect(master = "local")
# copy the data to Spark
birth_sc = copy_to(sc, birthwt, "birth_sc", overwrite = TRUE)
# Model
# create dummy variables for race (race_1, race_2, race_3)
birth_sc = ml_create_dummy_variables(birth_sc, "race")
model = ml_logistic_regression(birth_sc, low ~ lwt + race_2 + race_3)
Run Code Online (Sandbox Code Playgroud)
我得到的模型如下:
> model
Call: low ~ lwt + race_2 + race_3
Coefficients:
(Intercept) lwt race_2 race_3 …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的 RMarkdown 文档,以 pdf 格式导出,其中包含一个只有 2 列的 kablextra 表(参见图片)。我试图将两列的背景设置为蓝色阴影,其中高值用较深的颜色表示,低值用较浅的颜色表示。值的顺序不能更改,因为它们代表月度数字。当我尝试寻找解决方案时,我设法让列具有一些背景颜色(见图)。
library(kableExtra)
library(paletteer)
library(tidyverse)
#two vectors
column_1<-c(144, 189, 213, 231, 229, 235, 216, 221, 221, 200, 204, 236)
column_2<-c(83.7, 92.5, 87.6, 88.2, 80.5, 72.6, 66.7, 71.9, 66.7, 58.2, 72.1, 72.7)
#create dataframe
activity<-data.frame (column_1, column_2)
#create kableextra summary table
kbl(activity, booktabs = T, linesep = "", col.names = linebreak(c("Column 1", "Column 2")), align = "c", caption = "Summary Table") %>%
kable_styling(full_width = F) %>%
kable_styling(font_size = 12, position = "center") %>%
kable_styling(latex_options …
Run Code Online (Sandbox Code Playgroud) r ×9
apache-spark ×2
knitr ×2
rgl ×2
sparklyr ×2
3d ×1
background ×1
build ×1
checkbox ×1
colors ×1
dt ×1
kableextra ×1
package ×1
pandoc ×1
plot ×1
r-markdown ×1
rstudio ×1
shiny ×1
sweave ×1
text ×1