我有一个数据框,如下所示:
data.frame(director = c("Aaron Blaise,Bob Walker", "Akira Kurosawa",
"Alan J. Pakula", "Alan Parker", "Alejandro Amenabar", "Alejandro Gonzalez Inarritu",
"Alejandro Gonzalez Inarritu,Benicio Del Toro", "Alejandro González Iñárritu",
"Alex Proyas", "Alexander Hall", "Alfonso Cuaron", "Alfred Hitchcock",
"Anatole Litvak", "Andrew Adamson,Marilyn Fox", "Andrew Dominik",
"Andrew Stanton", "Andrew Stanton,Lee Unkrich", "Angelina Jolie,John Stevenson",
"Anne Fontaine", "Anthony Harvey"), AB = c('A', 'B', 'A', 'A', 'B', 'B', 'B', 'A', 'B', 'A', 'B', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'A'))
Run Code Online (Sandbox Code Playgroud)
如您所见,director列中的某些条目是由逗号分隔的多个名称.我想将这些条目拆分为单独的行,同时保持另一列的值.例如,上面数据框中的第一行应该分成两行,director列中各有一个名称,列中有"A" …
在写论文时,我通常knitr用来嵌入我在R中生成的表和图.所有这些对我来说都非常好.然而,我的一些共同作者并没有对这个工作流程充满热情,而是更愿意将交互留给knitr我并专注于编写他们的部分,而不必费心使用R代码.他们也宁愿不必安装R,RStudio和各种软件包.
那么,有没有办法用嵌入的knitr块排版LaTeX文档而不必先通过R运行它们?换句话说,是否有一种方法可以在排版过程中简单地忽略块(或者用虚拟表/图来替换它们)?
我很难理解为什么==并且%in%在应用于依赖于矢量编码时依赖的字符向量时会产生不同的结果.一个例子:
a <- 'Köln'
Encoding(a) <- 'unknown'
Encoding(a)
# [1] "unknown"
b <- a
Encoding(b) <- 'UTF-8'
a == b
# [1] TRUE
a %in% b
# [1] FALSE
Run Code Online (Sandbox Code Playgroud)
更新:
结果似乎也取决于平台.这两个陈述回归:
TRUE和FALSE对OS X 10.11.5ř3.3.0FALSE和FALSEWindows 10上的R 3.3.0(64位)TRUE和TRUE上在CentOS 7 R 3.2.3我开始认为这是一个错误.
tidyr::complete()将行添加到a data.frame中,以获取数据中缺少的列值组合.例:
library(dplyr)
library(tidyr)
df <- data.frame(person = c(1,2,2),
observation_id = c(1,1,2),
value = c(1,1,1))
df %>%
tidyr::complete(person,
observation_id,
fill = list(value=0))
Run Code Online (Sandbox Code Playgroud)
产量
# A tibble: 4 × 3
person observation_id value
<dbl> <dbl> <dbl>
1 1 1 1
2 1 2 0
3 2 1 1
4 2 2 1
Run Code Online (Sandbox Code Playgroud)
其中value组合person == 1和observation_id == 2缺少的组合df已填入值0.
什么相当于这个data.table?
我正在尝试gsl为R 安装软件包,我理解这只是GSL的一个包装,在OSX Mavericks下.我试过了明显的事:
> install.packages('gsl')
Installing package into ‘/Users/myusername/Library/R/3.1/library’
(as ‘lib’ is unspecified)
package ‘gsl’ is available as a source package but not as a binary
Warning in install.packages :
package ‘gsl’ is not available (for R version 3.1.0)
Run Code Online (Sandbox Code Playgroud)
所以我跑了
> install.packages('gsl',type = 'source')
Installing package into ‘/Users/myusername/Library/R/3.1/library’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/src/contrib/gsl_1.9-10.tar.gz'
Content type 'application/x-gzip' length 342803 bytes (334 Kb)
opened URL
==================================================
downloaded 334 Kb
* installing *source* package ‘gsl’ ...
** package ‘gsl’ …Run Code Online (Sandbox Code Playgroud) 我正在尝试范围连接两个表,就像这样
SELECT *
FROM main_table h
INNER JOIN
test.delay_pairs d
ON
d.interval_start_time_utc < h.visitStartTime
AND h.visitStartTime < d.interval_end_time_utc
Run Code Online (Sandbox Code Playgroud)
在哪里h.visitStartTime是一个INT64时代,d.interval_start_time_utc并且d.interval_end_time_utc是正确TIMESTAMP的.
以上失败了
No matching signature for operator < for argument types: TIMESTAMP, INT64. Supported signature: ANY < ANY
Run Code Online (Sandbox Code Playgroud)
无论是包装h.visitStartTime的TIMESTAMP(),也没有CAST(d.interval_start_time_utc AS INT64)工作.如何在BigQuery的标准SQL方言中使两者具有可比性?
我正在尝试deldir在R via中安装软件包,install.packages("deldir",type = 'source')但是收到以下错误消息(这是OSX Mavericks):
* installing *source* package ‘deldir’ ...
** package ‘deldir’ successfully unpacked and MD5 sums checked
** libs
gfortran-4.8 -fPIC -g -O2 -c acchk.f -o acchk.o
make: gfortran-4.8: No such file or directory
make: *** [acchk.o] Error 1
ERROR: compilation failed for package ‘deldir’
Run Code Online (Sandbox Code Playgroud)
gfortran 4.8似乎在我的系统上可用,但是:
> gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/gfortran/libexec/gcc/x86_64-apple-darwin13/4.8.2/lto-wrapper
Target: x86_64-apple-darwin13
Configured with: ../gcc-4.8.2/configure --prefix=/usr/local/gfortran --with-gmp=/Users/fx/devel/gcc/deps-static/x86_64 --enable-languages=c,c++,fortran,objc,obj-c++ --build=x86_64-apple-darwin13
Thread model: posix
gcc version 4.8.2 (GCC)
Run Code Online (Sandbox Code Playgroud)
将gfortran-4.8符号化为gfortran后,我得到了更多但仍然失败了:
* …Run Code Online (Sandbox Code Playgroud) 我已将传单TextPath插件添加到一个闪亮的应用程序中,类似于此示例.这非常有效:
output$fullscreen_map <- renderLeaflet({
points <- points_reactive()
points %>%
leaflet() %>%
addTiles() %>%
fitBounds(~min(lon), ~min(lat), ~max(lon), ~max(lat)) %>%
registerPlugin(textPathPlugin) %>%
onRender("function(el, x, data) {
data = HTMLWidgets.dataframeToD3(data);
data = data.map(function(val) { return [val.lat, val.lon]; });
var layer = L.polyline(data);
layer.on('mouseover', function () {
this.setText(' ? ', {repeat: true, attributes: {fill: 'blue'}});
});
layer.on('mouseout', function () {
this.setText(null);
});
layer.addTo(this);
}", data = points)
})
Run Code Online (Sandbox Code Playgroud)
根据我现在要使用的文档,leafletProxy()以便在响应数据源发生更改时不会重绘整个映射.唉,使用以下代码片段
leafletProxy("fullscreen_map", data = points) %>%
onRender("function(el, x, …Run Code Online (Sandbox Code Playgroud) 我现在已经在互联网上搜索了一个小时没能成功,在我的生活中,我找不到splinefun使用时method='fmm'(如Forsythe,Malcolm和Moler的方法)样条曲线如何完全适合一组点的解释.我知道以下内容:
拟合具有N个节点的三次样条是(N-1)*4个未知数的问题.通过假设样条在结处是平滑的(精确地说:它的一阶和二阶导数是连续的),假设样条经过所有结和(N-2)*2条件,得到(N-1)*2个等式.这留下了两个条件来确定样条曲线.通过假设二阶导数在端点处为零来找到自然立方.但fmm确实有所不同.据我所知,它适合一个精确的立方体到一个结的子集(这个结?)然后在样条上强加这个立方的某些导数(这些导数在哪里评估?).