我尝试使用 --privileged 运行我的容器。我当然可以通过终端手动执行此操作,docker run --privileged ...但我使用 VS Code,当我按“Docker:启动 .Net Core(预览版)”时,它会docker run自行处理命令。
我尝试过类似以下的方法,但没有运气;
{
"name": "Docker: Launch .NET Core (Preview)",
"type": "docker-coreclr",
"request": "launch",
"preLaunchTask": "build",
"appProject": "${workspaceFolder}/Services/***/***.csproj",
"appFolder": "${workspaceFolder}/Services/***/",
"dockerBuild": {},
"dockerRun": {"network": "host", "runArgs": ["--privileged"]}
},
Run Code Online (Sandbox Code Playgroud)
在 Visual Studio 上,当我将以下行添加到 .csproj“PropertyGroup”标记时,它会起作用;
<DockerfileRunArguments>--net host --privileged -p 80:8081 -p 443:44342</DockerfileRunArguments>
Run Code Online (Sandbox Code Playgroud) 我有一个非常大的数据集,其中DateTime包含一个包含 POSIXct-Values的列。我需要根据列确定季节(冬季 - 夏季)DateTime。我创建了一个在小数据集上运行良好的函数,但是当我在大数据集上使用它时会崩溃。有人能看到我的错误吗?
我创建了 4 个函数:
下面是函数:
require(lubridate)
# function for logical comparison (to be used in *apply)
greaterOrEqual <- function(x,y){
ifelse(x >= y,T,F)
}
# function for logical comparison (to be used in *apply)
less <- function(x,y){
ifelse(x < y,T,F)
}
# function for logical comparison (to be used in *apply)
selFromLogic <- function(VecLogic,VecValue){
VecValue[VecLogic]
}
# Main Function to determine the season
getTwoSeasons <- function(input.date) {
Winter1Start …Run Code Online (Sandbox Code Playgroud) 将循环函数应用于向量/列表时,我经常需要某种计数器/索引值。当使用基本循环函数时,可以通过向某个初始值连续加 1 来创建该索引。考虑以下示例:
lets <- letters[1:5]
n = 0
for (le in lets){
n = n+1
print(paste(le,"has index",n))
}
#> [1] "a has index 1"
#> [1] "b has index 2"
#> [1] "c has index 3"
#> [1] "d has index 4"
#> [1] "e has index 5"
Run Code Online (Sandbox Code Playgroud)
我能够使用包中的循环函数访问此类索引值的唯一方法purrr是使用map2. 有没有更优雅的方法来仅使用来做到这一点purrr::map()?
library(purrr)
map2(lets,1:length(lets),~paste(.x,"has index",.y))
#> [[1]]
#> [1] "a has index 1"
#>
#> [[2]]
#> [1] "b has index 2"
#>
#> [[3]] …Run Code Online (Sandbox Code Playgroud) 我有一组不同采样间隔的动物位置.我想要做的是分组和序列,其中采样间隔匹配某个标准(例如,低于某个值).让我用一些虚拟数据来说明:
start <- Sys.time()
timediff <- c(rep(5,3),20,rep(5,2))
timediff <- cumsum(timediff)
# Set up a dataframe with a couple of time values
df <- data.frame(TimeDate = start + timediff)
# Calculate the time differences between the rows
df$TimeDiff <- c(as.integer(tail(df$TimeDate,-1) - head(df$TimeDate,-1)),NA)
# Define a criteria in order to form groups
df$TimeDiffSmall <- df$TimeDiff <= 5
TimeDate TimeDiff TimeDiffSmall
1 2016-03-15 23:11:49 5 TRUE
2 2016-03-15 23:11:54 5 TRUE
3 2016-03-15 23:11:59 20 FALSE
4 2016-03-15 23:12:19 5 TRUE
5 2016-03-15 …Run Code Online (Sandbox Code Playgroud) 我使用的是bookdown包RMarkdown产生类似的基于Web的书这,同样与选项来下载图书的PDF版本。
我plotly在我的“书”中包含了图表,这些图表在本书的 html 版本中运行良好。作为交互式,在 YAML 标头中包含 pdf 输出时,“构建书”按钮会引发错误。
基于此描述,我找到了一种使用常规 RMarkdown 文件的解决方法来创建带有plotly图形输出的pdf 。一个最小的解决方案(外部 bookdown)如下所示:
---
title: "test"
output:
pdf_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(plotly)
Sys.setenv("plotly_username" = "username")
Sys.setenv("plotly_api_key" = "API")
```
```{r cars}
library(plotly)
p <- plot_ly(x = c(1,2,3,4), y = c(2,4,1,3), type = 'scatter', mode = 'lines')
plotly_IMAGE(p, format = "png", out_file = "output.png")
```

Run Code Online (Sandbox Code Playgroud)
有没有办法将这个解决方案包含在 bookdown 中,以便图表在 html 输出中自动交互,在 …
使用R基本图,我可以使用以下命令绘制任何geotiff:
library("raster")
plot(raster("geo.tiff"))
Run Code Online (Sandbox Code Playgroud)
例如,下载这些数据,我会做以下事项:
setwd("C:/download") # same folder as the ZIP-File
map <- raster("smr25musterdaten/SMR_25/SMR_25KOMB_508dpi_LZW/SMR25_LV03_KOMB_Mosaic.tif")
Run Code Online (Sandbox Code Playgroud)
你如何在ggplot2中绘制GeoTif文件?
编辑:
1:我用彩色地图替换了样本文件中的灰度图,以说明缺少colortable的问题.
2:在Pascals答案的帮助下,我能够适应和改进这个解决方案,并使输入tif更加动态.我将在下面发布答案.
我想使用提到的两个包"rgdal"和"raster"来裁剪GeoTiff光栅文件.一切都很好,除了产生的输出tif的质量非常差,灰度而不是颜色.原始数据是来自瑞士联邦地形办公室的高质量栅格地图,示例文件可以在这里下载.
这是我的代码:
## install.packages("rgdal")
## install.packages("raster")
library("rgdal")
library("raster")
tobecroped <- raster("C:/files/krel_1129_2012_254dpi_LZW.tif")
ex <- raster(xmn=648000, xmx=649000, ymn=224000, ymx=225000)
projection(ex) <- proj4string(tobecroped)
output <- "c:/files/output.tif"
crop(x = tobecroped, y = ex, filename = output)
Run Code Online (Sandbox Code Playgroud)
为了重现此示例,请下载示例数据并将其解压缩到文件夹"c:/ files /".奇怪的是,使用样本数据,图像质量可以正常,但仍然是灰度.
我使用"数据类型","格式"选项,但没有得到任何地方.任何人都能指出解决方案吗?我应该提供输入数据的更多信息吗?
编辑:Josh的例子非常适合样本数据2.不幸的是,我的数据似乎更老了,有些不同.如果您阅读以下GDALinfo,您能告诉我我选择了哪个选项:
# packages same as above
OldInFile = "C:/files/krel1111.tif"
dataType(raster(OldInFile)
[1] "INT1U"
GDALinfo(OldInFile)
rows 4800
columns 7000
bands 1
lower left origin.x 672500
lower left origin.y 230000
res.x 2.5
res.y 2.5
ysign -1
oblique.x 0
oblique.y 0
driver …Run Code Online (Sandbox Code Playgroud) 我有两个data.frames,每个都有一个时间序列.我的目标是使用df2的时间序列来标记df1中最接近的时间戳.df2中的每个时间戳只应在df1中标记一个时间戳!
dates1 <- as.POSIXct(c("2015-10-26 12:00:00","2015-10-26 13:00:00","2015-10-26 14:00:00"))
values1 <- c("a","b","c")
dates2 <- as.POSIXct(c("2015-10-26 12:05:00","2015-10-26 13:55:00"))
values2 <- c("A","C")
df1 <- data.frame(dates1, values1)
df2 <- data.frame(dates2, values2)
Run Code Online (Sandbox Code Playgroud)
期望的结果:
dates2 values2 values1
1: 2015-10-26 12:00:00 A a
2: 2015-10-26 13:00:00 NA b
3: 2015-10-26 14:00:00 C c
Run Code Online (Sandbox Code Playgroud)
为了实现这一点,我将data.frames转换为data.tables并使用滚动连接"nearest",如下所示:
dt1 <- data.table(df1)
dt2 <- data.table(df2)
setkey(dt1,"dates1")
setkey(dt2,"dates2")
dt3 <- dt2[dt1,roll = "nearest"]
dates2 values2 values1
1: 2015-10-26 12:00:00 A a
2: 2015-10-26 13:00:00 A b
3: 2015-10-26 14:00:00 C c
Run Code Online (Sandbox Code Playgroud)
值2"A"使用两次,一次用于12:00时间戳,一次用于13:00.我希望每个value2只使用一次,并查阅data.table手册我希望使用选项mult ="first" …
我觉得好像在问错误的问题,并试图重新发明轮子.我错过了什么?
我有一堆值,比方说8,我需要互相测试.我已经构建了一个函数,该函数返回一个矩阵,说明是否有任何两个值都在一个组中.由于缺乏更好的想法,让我在这里粘贴输出:
data.text <-
"1 2 3 4 5 6 7 8
1 TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
2 TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
3 TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
4 FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
5 FALSE FALSE FALSE FALSE TRUE TRUE NA FALSE
6 FALSE FALSE FALSE FALSE TRUE TRUE NA FALSE
7 FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
8 FALSE FALSE FALSE FALSE …Run Code Online (Sandbox Code Playgroud) 我sf在类型的简单feature()中保存了多个轨迹POINT.我想计算后续位置(即行)之间的欧几里德距离.到目前为止,我使用毕达哥拉斯公式 "手动"计算距离,用于计算2D空间中的欧几里德距离.我想知道我是否可以使用该功能做同样的事情sf::st_distance().这是一个简单的例子:
library(sf)
library(dplyr)
set.seed(1)
df <- data.frame(
gr = c(rep("a",5),rep("b",5)),
x = rnorm(10),
y = rnorm(10)
)
df <- st_as_sf(df,coords = c("x","y"),remove = F)
df %>%
group_by(gr) %>%
mutate(
dist = sqrt((lead(x)-x)^2+(lead(y)-y)^2)
)
#> Simple feature collection with 10 features and 4 fields
#> geometry type: POINT
#> dimension: XY
#> bbox: xmin: -0.8356286 ymin: -2.2147 xmax: 1.595281 ymax: 1.511781
#> epsg (SRID): NA
#> proj4string: NA
#> # A …Run Code Online (Sandbox Code Playgroud) 我tidyr::nest()与purrr::map()(-family)结合使用将a data.frame分组,然后对每个子集做一些奇特的事情。考虑以下示例,请忽略我不需要的事实nest()并map()执行此操作(这是一个过于简化的示例):
library(dplyr)
library(purrr)
library(tidyr)
mtcars %>%
group_by(cyl) %>%
nest() %>%
mutate(
wt_mean = map_dbl(data,~mean(.x$wt))
)
# A tibble: 8 x 4
cyl gear data cly2
<dbl> <dbl> <list> <dbl>
1 6 4 <tibble [4 x 9]> 6
2 4 4 <tibble [8 x 9]> 4
3 6 3 <tibble [2 x 9]> 6
4 8 3 <tibble [12 x 9]> 8
5 4 3 <tibble [1 x 9]> …Run Code Online (Sandbox Code Playgroud) 我是新手dplyr,有以下问题。我有data.frame一列作为分组变量。有些行不属于一个组,分组列是NA.
我需要使用dplyr函数向 data.frame 添加一些列mutate。我更喜欢dplyr忽略分组列等于的所有行NA。我用一个例子来说明:
library(dplyr)
set.seed(2)
# Setting up some dummy data
df <- data.frame(
Group = factor(c(rep("A",3),rep(NA,3),rep("B",5),rep(NA,2))),
Value = abs(as.integer(rnorm(13)*10))
)
# Using mutate to calculate differences between values within the rows of a group
df <- df %>%
group_by(Group) %>%
mutate(Diff = Value-lead(Value))
df
# Source: local data frame [13 x 3]
# Groups: Group [3]
#
# Group Value Diff
# …Run Code Online (Sandbox Code Playgroud) 我有一个R脚本,我想从不同的 R 脚本中导入它,操作它的内容(搜索和替换)并使用不同的扩展名保存(.rmd)。
这是 example.R 文件在操作之前的样子:
# A title
# chunkstart
plot(1,1)
# chunkend
Run Code Online (Sandbox Code Playgroud)
这就是example.Rmd操作后的样子:分别用 ```{r} 和 ``` 替换 " # chunkstart" 和 " # chunkend" 。
# A title
```{r}
plot(1,1)
```
Run Code Online (Sandbox Code Playgroud)
我一直在寻找方法来做到这一点,但到目前为止还没有找到。有任何想法吗?