警告:
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个或更多那么我会期待一个警告.
我试图了解 R 中的 s3 类系统。
文档说我需要为我想要创建的方法创建一个通用函数。
假设我想foo为 class创建一个方法XYZ。
有了 R 的所有包,我怎么能确定我没有覆盖以前创建的泛型方法?
总结是一个不好的例子,因为每个人都可能知道它已经存在,但是我的泛型可能已经定义在我已经加载或我将加载的包中。
我知道之前已经问过这个问题,但我不太明白.
我有一个如下所示的数据集:
Precinct Crime 2000 2001 2002 2003
1 Murder 3 1 2 2
1 Rape 12 5 10 11
1 Burglary 252 188 297 403
2 Murder 4 2 1 0
Run Code Online (Sandbox Code Playgroud)
以及每年列出的每项犯罪的价值.
我正在尝试将其重新排列为更简单的集合,如下所示:
Precinct Crime Year Value
1 Murder 2000 3
1 Rape 2000 12
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?我知道我应该使用tidyr gather,但推断多个键的解决方案并不适合我.
我正在制作地图,我想在每个州内放置一个小文本标签.我目前的问题是文本超出了州限制,所以看起来不太好看:

我尝试使用均值,中位数,质心等.
我想要的是每个文本完全在多边形内部或外部,如下所示:
(图片来自http://www.businessinsider.com/map-what-100-is-actually-worth-in-your-state-2015-7?IR=T)
我使用以下代码生成我的图片:
library(maps)
library(dplyr)
library(ggplot2)
#data
mapbase <- map_data("state.vbm")
data(state.vbm.center)
df <- state.vbm.center %>% as.data.frame() %>%
mutate(region = unique(mapbase$region) ) %>% full_join(mapbase)
#actual plotting
cnames <- aggregate(cbind(long, lat) ~ region, data=df, FUN=median)
gmap<-
ggplot()+
geom_polygon( data=df2,
aes(long, lat, group = region, fill = somevalue,alpha=0.3)) +
coord_fixed() +
theme_void() +
geom_text(data=cnames, aes( fontface=2 ,cnames$long, cnames$lat , label = "text"
), color= "black" ,size=3,check_overlap = T, position=position_jitter(width=3, height=3) ) +
scale_fill_gradient(low="red",high="blue")
Run Code Online (Sandbox Code Playgroud)
非常感谢您的提示!
我有一个矢量:
x <- c(0.0, 0.5, 1.000, 1.5, 1.6, 1.7, 1.75, 2.0, 2.4, 2.5, 3.0, 74.0)
Run Code Online (Sandbox Code Playgroud)
如何仅提取x小数位后包含非零值的值?例如,结果向量将如下所示:
c(0.5, 1.5, 1.6, 1.7, 1.75, 2.4, 2.5)
Run Code Online (Sandbox Code Playgroud)
其中已移除0.0,1.000,2.0,3.0,和74.0.
我正在使用多个 R Markdown 文件编写报告,为了便于组合它们,我决定使用bookdown包。我在使用fancyhdr LaTeX 包插入徽标作为标题时遇到问题,该包在常规文件中运行良好.Rmd。
索引.Rmd 文件:
---
documentclass: book
classoption: openany
site: bookdown::bookdown_site
subparagraph: true
output:
bookdown::pdf_book:
includes:
in_header: preamble.tex
toc_depth: 4
latex_engine: xelatex # to receive Arial as font --> install.packages("xelatex") works for R users
link-citations: yes
fontsize: 12pt
linestretch: 1.25
---
Run Code Online (Sandbox Code Playgroud)
preamble.tex是:
\usepackage[german]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{titlesec}
\usepackage{fancyhdr}
\usepackage{fontspec}
\setmainfont{Arial}
\pagestyle{fancy}\setlength\headheight{100pt}
\fancyhead[L]{\includegraphics[width=456px]{INS_logo.png}}
\fancyhead[R]{\includegraphics[width=4.1cm]{shurp-2018-logo-blue-transparent.png}}
\renewcommand{\headrulewidth}{0pt}
\rfoot{Seite \thepage \hspace{1pt} von \pageref{LastPage}}
\geometry{a4paper, total={170mm,257mm}, left=20mm, top=10mm, }
\titleformat{\chapter}
{\normalfont\LARGE\bfseries}{\thechapter}{1em}{}
\titlespacing*{\chapter}{0pt}{3.5ex plus 1ex minus …Run Code Online (Sandbox Code Playgroud) 我有点困惑:所有标签都有一种decompose()方法可以将标签从树中移除。但是如果我想删除 aNavigableString呢?它没有这样的方法:
>>> b = BeautifulSoup('<p>aaaa <span> bbbbb </span> ccccc</p>', 'html.parser')
>>> b.p.contents[0]
'aaaa '
>>> type(b.p.contents[0])
<class 'bs4.element.NavigableString'>
>>> b.p.contents[0].decompose()
Traceback (most recent call last):
...
AttributeError: 'NavigableString' object has no attribute 'decompose'
Run Code Online (Sandbox Code Playgroud)
有一种方法我设法NavigableString从树中删除了:通过从内容列表中删除它:
>>> b.p.contents.pop(0)
'aaaa '
>>> b
<p><span> bbbbb </span> ccccc</p>
Run Code Online (Sandbox Code Playgroud)
问题是它仍然存在于strings方法响应中:
>>> list(b.strings)
['aaaa ', ' bbbbb ', ' ccccc']
Run Code Online (Sandbox Code Playgroud)
这表明这是错误的做法。此外,我strings在我的代码中使用,所以这个 hacky 解决方案是不可接受的,唉。
所以问题是:如何NavigableString从树中删除特定对象?
我问关于SO的问题,这是我最后的希望:-)我必须就Word编写一份报告。我在R Markdown上工作,在那里我必须产生许多表。我希望我的桌子很漂亮!但是,一切都我试过(pander,KableExtra,flextable)没有工作。
我从coxph模型中获取结果,进行汇总,然后构建data.frame如下所示的模型:
1 Model 1 Model 2
2 n= 375 n= 374
3 e= 65 e= 64
4 PH= 0.46 PH= 0.97
5 Weight --- 1.0 [ 1.0 ; 1.1 ] p = 0.03
6 Size --- 1.0 [ 1.0 ; 1.0 ] p = < 10^-3^
7 GR I --- 1
8 GR II --- 1.2e+06 [ 0.0 ; Inf ] p = 1.00
9 GR III --- …Run Code Online (Sandbox Code Playgroud) 在下面的C++源文件中,在函数中glfw_get_monitors如何设置对象每个元素的类属性monitor_ptrs?
该行monitor_ptrs[i].attr("class") = "GLFWmonitor";抛出编译错误:
\xe2\x80\x98Rcpp::Vector<19>::Proxy\xe2\x80\x99 {aka \xe2\x80\x98class Rcpp::internal::generic_proxy<19>\xe2\x80\x99} has no member named \xe2\x80\x98attr\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n#ifndef RCPP_GLFW_TYPES_H\n#define RCPP_GLFW_TYPES_H\n\n#include <Rcpp.h>\n#include <GLFW/glfw3.h>\n\nvoid glfw_destroy_monitor(GLFWmonitor*);\n\n// /sf/ask/2884741681/\n\ntypedef Rcpp::XPtr<GLFWwindow, Rcpp::PreserveStorage, glfwDestroyWindow> GLFWwindow_ptr;\ntypedef Rcpp::XPtr<GLFWmonitor, Rcpp::PreserveStorage, glfw_destroy_monitor> GLFWmonitor_ptr;\n\n\n#endif\n\nRun Code Online (Sandbox Code Playgroud)\n\n#include "glfw_types.h"\nusing namespace Rcpp;\n\n// [[Rcpp::export]]\nGLFWmonitor_ptr glfw_get_primary_monitor() {\n\n GLFWmonitor_ptr new_monitor = GLFWmonitor_ptr(glfwGetPrimaryMonitor(), true);\n\n new_monitor.attr("class") = "GLFWmonitor";\n\n return new_monitor;\n}\n\n// [[Rcpp::export]]\nRcpp::List glfw_get_monitors() {\n\n int nr_monitors;\n GLFWmonitor** monitors = glfwGetMonitors(&nr_monitors);\n Rcpp::List monitor_ptrs(nr_monitors);\n\n for(int i = 0; i < nr_monitors; i++) {\n monitor_ptrs[i] …Run Code Online (Sandbox Code Playgroud) \n\ntl;dr:
\nR CMD check当我为 S3 类实现泛型时会抱怨<-,因为它认为该函数是参数不正确的替换函数。
我需要定义一组 S3 泛型来遍历未计算的 R 表达式的 AST。
\n出于演示目的,请考虑以下 S3 泛型及其方法:
\nwalk = function (x) UseMethod(\'walk\')\n\nwalk.default = function (x) message(\'default\')\n\nwalk.name = function (x) message(\'name\')\n\nwalk.call = function (x) message(\'call\')\nRun Code Online (Sandbox Code Playgroud)\n这工作正常:
\ntests = alist(\'2\', c, f(1))\n\ninvisible(lapply(tests, walk))\nRun Code Online (Sandbox Code Playgroud)\nwalk = function (x) UseMethod(\'walk\')\n\nwalk.default = function (x) message(\'default\')\n\nwalk.name = function (x) message(\'name\')\n\nwalk.call = function (x) message(\'call\')\nRun Code Online (Sandbox Code Playgroud)\n然而,有相当多的调用表达式的 S3 类是 \xe2\x80\x99t call;例如:
tests2 = alist(for (x …Run Code Online (Sandbox Code Playgroud)