下面是 git 中传统工作流程的描述。
是否有可能以某种方式在 R 中编写一个脚本,让 git 执行所有脚本?这样做是否明智?非常感谢!
cd <path_to_local_repository>。git add --all以暂存更改。git commit -m '<commit_message>'在命令行输入以将更改提交到本地存储库。git push 在命令行中输入,将更改推送到远程存储库(例如,在 Bitbucket 上)。这是错误消息:
error[E0038]: the trait `room::RoomInterface` cannot be made into an object
--> src\permanent\registry\mod.rs:12:33
|
12 | pub fn load(id : String) -> Result<Box<dyn RoomInterface>, String>{
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `room::RoomInterface` cannot be made into an object
|
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
--> src\permanent\rooms\mod.rs:36:31
|
36 | pub trait RoomInterface : Copy + Sized {
| ------------- ^^^^ ^^^^^ …Run Code Online (Sandbox Code Playgroud) 我是&符号的忠实粉丝 - 我非常虔诚地听取SimpleBits的建议"使用最好的&符号".
为此,我在LaTeX中定义了以下快捷方式:
\let\amp\&
\renewcommand\&{{\scalebox{1.2}{\textnormal{\fontspec{Baskerville}\itshape\amp}}}}
Run Code Online (Sandbox Code Playgroud)
简而言之,这将"正常"&符号的所有用法改为时尚的变体,例如:
This is a text \& it contains an ampersand.
Run Code Online (Sandbox Code Playgroud)
(使用\&而不仅仅是&因为LaTeX的工作方式 - 后者已经保留用于分隔表环境中的列.)
但是,这总是使用相同的字体 - 这里,Baskerville - 无论它是否适合.我想根据使用的字体系列使用不同的字体.也就是说,我想将另一个&符号与sans serif文本结合使用,特别是我想防止在monospace上下文中重写&符号.所以在以下两个上下文中,我不想触发上面的定义:
{\sffamily a \& b}
{\ttfamily a \& b}
Run Code Online (Sandbox Code Playgroud)
我怎么做?
我想象如下:
\renewcommand\&{
\ifsans
{\fontspec{Trebuchet MS}{\textnormal{\itshape\amp}}}
\else
\ifmono
\amp
\else
{\fontspec{Baskerville}\scalebox{1.2}{\textnormal{\itshape\amp}}}
\fi
\fi}
Run Code Online (Sandbox Code Playgroud) 在iOS中,必须将翻转变换应用于当前图形上下文,以便将文本定向为如图16-1所示.[翻转变换]涉及反转y轴并将原点平移到屏幕的底部.清单16-2显示了如何在
drawRect:iOS视图的方法中应用此类转换.然后,此方法调用MyDrawText清单16-1中的相同方法.
为什么?这看起来非常糟糕.
我目前正在将一些OpenCV代码从C++转换为Java.我不能使用JavaCV,因为我们需要在本机Java中进行转换,而不是JNA.在代码中的某一点,我得到以下任务:
dst[x] = (uchar)(-(kHit >= kForeground));
Run Code Online (Sandbox Code Playgroud)
当dst被uchar*,kHit且kForeground是int秒.
我一直无法找到有关其工作原理的任何信息,Java也不会将其识别为操作.这两个变量在代码的另一个点上有一个操作,它存储两个值中的一个:255或0.
有问题的代码来自opencv/video/src/bgfg_gaussmix.cpp.
警告:
src/BoardRep.h:49:12: warning: ‘BoardRep::BoardRep::Row::<anonymous struct>::a’
is too small to hold all values of ‘enum class BoardRep::Piece’
[enabled by default]
Piece a:2;
^
Run Code Online (Sandbox Code Playgroud)
枚举:
enum class Piece: unsigned char {
EMPTY,
WHITE,
BLACK
};
Run Code Online (Sandbox Code Playgroud)
使用:
union Row {
struct {
Piece a:2;
Piece b:2;
Piece c:2;
Piece d:2;
Piece e:2;
Piece f:2;
Piece g:2;
Piece h:2;
};
unsigned short raw;
};
Run Code Online (Sandbox Code Playgroud)
如果enum我同意GCC,它可能不得不截断,但这是因为enums与整数和预处理器定义并没有真正分开.然而,一个enum class更强大.如果它不够强大,不能假设所有Piece取整数值都在0到2之间,则警告是有意义的.否则海湾合作委员会将不必要地挑剔,可能值得邮寄清单说"看,这是一个愚蠢的警告"
您可以在2位数据中存储4个不同的值,我只需要3个不同的值,因此任何长度为4或更小的枚举应该很好地适合给定的2位(并且我的枚举确实"派生"(更好的术语?)来自无符号类型).如果我有5个或更多那么我会期待一个警告.
很多时候,我发现自己在dplyr中手动组合了select()和mutate()函数.这通常是因为我正在整理数据框,想要根据旧列创建新列,并且只想保留新列.
例如,如果我有关于高度和宽度的数据但只想使用它们来计算并保留该区域,那么我将使用:
library(dplyr)
df <- data.frame(height = 1:3, width = 10:12)
df %>%
mutate(area = height * width) %>%
select(area)
Run Code Online (Sandbox Code Playgroud)
当在mutate步骤中创建了许多变量时,可能很难确保它们都在选择步骤中.有没有更优雅的方法来保留mutate步骤中定义的变量?
我一直在使用的一个解决方法如下:
df %>%
mutate(id = row_number()) %>%
group_by(id) %>%
summarise(area = height * width) %>%
ungroup() %>%
select(-id)
Run Code Online (Sandbox Code Playgroud)
这有效,但非常冗长,使用summarize()意味着性能受到影响:
library(microbenchmark)
microbenchmark(
df %>%
mutate(area = height * width) %>%
select(area),
df %>%
mutate(id = row_number()) %>%
group_by(id) %>%
summarise(area = height * width) %>%
ungroup() %>%
select(-id)
)
Run Code Online (Sandbox Code Playgroud)
输出:
min lq mean median uq max neval cld
868.822 954.053 …Run Code Online (Sandbox Code Playgroud) 我不太确定 gitlab CI 工作流程应该如何实现这一点:
我想用 gitlab CI 做什么:
grunt bump执行概括
所以 grunt bump应该只在 master 上并且在成功的测试和合并之后执行。仅对于生成的提交(Release vx.xx),应该完成构建和部署工作...
也许有一个比这个想法更聪明的工作流程。基本上我想在合并和成功测试后增加版本值并标记提交......
我对 YAML 文件的尝试
stages:
- test
- build
- deploy
lint:
image: testing:latest
stage: test
tags:
- testing
script:
- /node_modules/.bin/eslint --ext .js --ext .jsx .
bump:
stage: build
tags:
- deploy
script:
- grunt bump
only:
- master
- /^Merge .*$/ …Run Code Online (Sandbox Code Playgroud) 我在R中有一个金融时间序列(目前是一个xts对象,但我现在也在研究tibble).
如何找到与条件匹配的2个相邻行的概率?
例如,我想知道连续2天的概率高于平均值/中值.我知道lag前几天我可以进入下一行,这样可以让我得到这个统计数据,但这看起来非常麻烦且不灵活.
有没有更好的方法来完成这项工作?
xts样本数据:
foo <- xts(x = c(1,1,5,1,5,5,1), seq(as.Date("2016-01-01"), length = 7, by = "days"))
Run Code Online (Sandbox Code Playgroud)
连续2天高于median值的概率是多少?
我有这个示例数据:
df <- tibble(
"City1" = c("New York", "Boston", "Chicago"),
"City2" = c("Chicago", "Cleveland", "Atlanta"))
Run Code Online (Sandbox Code Playgroud)
假设City1是起点,City2也是目的地。即,一个人从纽约旅行到芝加哥。
我想为起始纬度添加一列,为起始经度添加一列,并对目的地城市也做同样的事情。总之,我想要四个新列。我已经有了坐标。
如何分配坐标?我试过使用case_when,但我不确定如何将坐标传递到多列。做一列很容易:
library(tidyverse)
# The numbers after the cities are the latitudes
df <- df %>%
mutate(
City1_lat = case_when(
City1 == 'New York' ~ 40.7128,
City1 == 'Boston' ~ 42.3601,
City1 == 'Chicago' ~ 41.8781
)
)
Run Code Online (Sandbox Code Playgroud)
如何扩展它以添加到City1_lon列中?试图尽可能地简化这一点,因为我有几千行起点/终点。adplyr或base解决方案都有效。我会将此扩展到目的地城市City2。以供参考:
New York: 40.7128, 74.0060
Boston: 42.3601, 71.0589
Chicago: 41.8781, 87.6298
Cleveland: …Run Code Online (Sandbox Code Playgroud)