我有以下简单的示例Rmarkdown
文档(test.Rmd):
---
title: "Test Knit Caret Paralell VerboseIter"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
require(caret)
require(doParallel)
```
## data
```{r data}
set.seed(998)
training <- twoClassSim()
```
## model
```{r fitmodel}
fitControl <- trainControl(
method = "repeatedcv",
number = 3,
repeats = 2,
verboseIter = T)
ncores <- detectCores()-1
cl <<- makePSOCKcluster(ncores, verbose = TRUE, outfile = "")
registerDoParallel(cl)
set.seed(825)
Fit <- train(Class ~ .,
data = training,
method = "nnet",
trControl = fitControl,
trace = …
Run Code Online (Sandbox Code Playgroud) 我正在使用knitr生成一些报告.我使用kable在文档中生成HTML表.在标题中,我想使用换行符(或其他html标记)来增强表格
<!--begin.rcode results='asis'
s <- rbind(c(1,2,3,4),c(1,2,3,4),c(1,2,3,4))
kable(s, col.names=c("Try Newline\nn","Try HTML break<br>%","Past 6 months\nn","\n%"))
end.rcode-->
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我正在尝试不同的选择而没有太大成功.在我的结果中,换行符(\n)只是在HTML源代码中的换行符中翻译.
标签被翻译为HTML特殊字符.
有什么建议?
我有一个每晚运行的存储过程。它从链接服务器中提取一些数据并将其插入到运行 sql 代理作业的服务器上的表中。在运行 INSERT 语句之前,该过程会检查链接服务器上的数据库是否联机 (STATE = 0)。如果不是,则不运行 INSERT 语句。
IF EXISTS(
SELECT *
FROM OPENQUERY(_LINKEDSERVER,'
SELECT name, state FROM sys.databases
WHERE name = ''_DATABASENAME'' AND state = 0')
)
BEGIN
INSERT INTO _LOCALTABLE (A, B)
SELECT A, B FROM _LINKEDSERVER._DATABASENAME.dbo._REMOTETABLE
END
Run Code Online (Sandbox Code Playgroud)
但是,当远程数据库处于还原模式时,该过程会出错(无法完成延迟准备)。这是因为在运行整个脚本之前评估 BEGIN 和 END 之间的语句。IF 评估不正确时也是如此。并且因为 _DATABASENAME 处于恢复模式,这已经给出了错误。
作为一种解决方法,我将 INSERT 语句放在执行函数中:
EXECUTE('INSERT INTO _LOCALTABLE (A, B)
SELECT A, B FROM _LINKEDSERVER._DATABASENAME.dbo._REMOTETABLE')
Run Code Online (Sandbox Code Playgroud)
但是在使用这部分 sql 之前,是否有另一种更优雅的解决方案来防止对该语句的评估?
我的方案涉及链接服务器。当然,同样的问题是当数据库在同一台服务器上时。
我希望有一些我还不知道的命令,这会阻止 IF 中的评估语法:
IF(Evaluation)
BEGIN
PREPARE THIS PART ONLY IF Evaluation …
Run Code Online (Sandbox Code Playgroud) 我有一个加载的数据帧,在因子标签中有空白空格.我试图删除数据帧中每个因素的尾随空格,但到目前为止都没有成功.
可重复的例子
lvls <- c('a ',
'b ',
'c ')
set.seed(314)
raw <- data.frame(a = factor(sample(lvls,100, replace=T)),
b = sample(1:100,100))
proc <- raw %>% mutate_each(funs(ifelse(is.factor(.),
factor(as.character(trimws(.)),
labels=unique(as.character(.))),
.)))
str(proc)
Run Code Online (Sandbox Code Playgroud)
给
'data.frame': 100 obs. of 2 variables:
$ a: int 1 1 1 1 1 1 1 1 1 1 ...
$ b: int 31 31 31 31 31 31 31 31 31 31 ...
Run Code Online (Sandbox Code Playgroud)
在两个层面上哪个错了.该因素没有标签.只有第一次观察重复100次
我想使用数据框计算唯一的组合 dplyr
我尝试了以下方法:
require(dplyr)
set.seed(314)
dat <- data.frame(a = sample(1:3, 100, replace = T),
b = sample(1:2, 100, replace = T),
c = sample(1:2, 100, replace = T))
dat %>% group_by(a,b,c) %>% summarise(n = n())
Run Code Online (Sandbox Code Playgroud)
但为了使这个通用(与列的名称无关),我试过:
dat %>% group_by(everything()) %>% summarise(n = n())
Run Code Online (Sandbox Code Playgroud)
结果如下:
a b c n
<int> <int> <int> <int>
1 1 1 1 6
2 1 1 2 8
3 1 2 1 13
4 1 2 2 8
5 2 1 1 7
6 2 1 …
Run Code Online (Sandbox Code Playgroud) 我想使用dplyr将一个函数应用于另一列中的值,该函数将名称作为字符串存储在列中.我已经尝试了几个使用mutate_
和.dots
争论的东西,但我现在被困住了.
library(lubridate)
library(dplyr)
df <- data.frame(date=as.POSIXct('2017/01/01 12:34') + 1:10*123456,
fun=rep(c('minute','hour','day','month','year'),2))
Run Code Online (Sandbox Code Playgroud)
输入:
> df
date fun
1 2017-01-02 22:51:36 minute
2 2017-01-04 09:09:12 hour
3 2017-01-05 19:26:48 day
4 2017-01-07 05:44:24 month
5 2017-01-08 16:02:00 year
6 2017-01-10 02:19:36 minute
7 2017-01-11 12:37:12 hour
8 2017-01-12 22:54:48 day
9 2017-01-14 09:12:24 month
10 2017-01-15 19:30:00 year
Run Code Online (Sandbox Code Playgroud)
输出:
date fun res
1 2017-01-02 22:51:36 minute 51
2 2017-01-04 09:09:12 hour 9
3 2017-01-05 19:26:48 day 5
4 2017-01-07 …
Run Code Online (Sandbox Code Playgroud) 我的闪亮应用程序中有一个交互式情节.在这个图中,我可以将数据点标记为人工制品.部分数据绘制为折线图,部分绘制为误差线.
我使用以下ggplot
代码:
ggplot(plotdat,
aes(x = time, y = value, color = type)) +
labs(title = "vitals from test") +
geom_errorbar(data = nibpdat,
aes(x = time,
ymin = dianibp,
ymax = sysnibp),
position = position_dodge(.1)) +
scale_color_manual(values = vitalpalette) +
geom_point() +
geom_line(data = plotdat %>% filter(!grepl("NIBP$", type))) +
geom_point(data = plotdat %>% filter(artefact),mapping = aes(x = time, y = value, color = type),
shape = 4, size = 2, stroke = 2) +
theme_bw()
Run Code Online (Sandbox Code Playgroud)
当我在闪亮的应用程序之外测试这个情节时,它有效.所有错误栏都保持可见.但是如果nibpdat
标记了一个点,则在闪亮的应用程序内(列artefact …
我想在使用 purrr:map 对其应用另一个函数之前按索引从列表中选择项目。我尝试了以下方法,但找不到有效的方法。
require(dplyr)
require(purrr)
dat <- list(1:3,
4:6,
letters[1:3])
# I can select one item
dat[1]
# I can select two items
dat[c(1,2)]
# But how can I do this in a pipeline by index?
dat %>% map(mean)
dat %>%
filter(c(1,2)) %>%
map(mean)
dat %>%
keep(1,2) %>%
map(mean)
dat %>%
select(1,2) %>%
map(mean)
Run Code Online (Sandbox Code Playgroud)