小编Uwe*_*Uwe的帖子

如何展平/合并重叠的时间段

我有一个大的时间段数据集,由"开始"和"结束"列定义.有些时期重叠.

我想将所有重叠时间段组合(展平/合并/折叠)以具有一个"开始"值和一个"结束"值.

一些示例数据:

  ID      start        end
1  A 2013-01-01 2013-01-05
2  A 2013-01-01 2013-01-05
3  A 2013-01-02 2013-01-03
4  A 2013-01-04 2013-01-06
5  A 2013-01-07 2013-01-09
6  A 2013-01-08 2013-01-11
7  A 2013-01-12 2013-01-15
Run Code Online (Sandbox Code Playgroud)

期望的结果:

  ID      start        end
1  A 2013-01-01 2013-01-06
2  A 2013-01-07 2013-01-11
3  A 2013-01-12 2013-01-15
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

  require(dplyr)
  data <- structure(list(ID = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L), class = "factor", .Label = "A"), 
    start = structure(c(1356998400, 1356998400, 1357084800, 1357257600, 
    1357516800, 1357603200, 1357948800), tzone = …
Run Code Online (Sandbox Code Playgroud)

datetime r date lubridate

13
推荐指数
3
解决办法
2189
查看次数

如何使用--enable-R-shlib配置R-3.1.2

我使用命令在Ubuntu上安装了R-3.1.2

wget http://cran.r-project.org/src/base/R-3/R-3.1.2.tar.gz
tar xvfz R-3.1.2.tar.gz
cd R-3.1.2
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

当我尝试启动RStudio时,我收到了错误

找不到R共享库(/usr/local/lib/R/lib/libR.so).如果这是R的自定义构建,是否使用--enable-R-shlib选项构建?

所以我回去试图重新配置

./configure --enable-R-shlib=yes
make
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

collect2: error: ld returned 1 exit status
make[3]: *** [libR.so] Error 1
make[3]: Leaving directory `/usr/local/lib/R-3.1.2/src/main'
make[2]: *** [R] Error 2
make[2]: Leaving directory `/usr/local/lib/R-3.1.2/src/main'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/usr/local/lib/R-3.1.2/src'
make: *** [R] Error 1
Run Code Online (Sandbox Code Playgroud)

当搜索堆栈溢出时,我在这里找到了一个答案: 如何使用--enable-R-shlib配置R-3.0.1, 这表明问题是我试图在我之前编译的目录中编译而没有" --enable-R-shlib"选项

我试图通过使用命令来解决问题

make uninstall
Run Code Online (Sandbox Code Playgroud)

这并没有给出任何错误"没有什么可以做'卸载'." 语句,但它确实成功卸载了R.

./configure --enable-R-shlib=yes
Run Code Online (Sandbox Code Playgroud)

这给出了错误

config.status: error: cannot find input file: `src/library/base/DESCRIPTION.in'
Run Code Online (Sandbox Code Playgroud)

然后

make …
Run Code Online (Sandbox Code Playgroud)

r rstudio

12
推荐指数
1
解决办法
1万
查看次数

使用ggplot2在绘图底部绘制标题

在ggplot2中,如何将绘图标题放在绘图的底部.

qplot(rnorm(100)) + ggtitle("My Title")
Run Code Online (Sandbox Code Playgroud)

把标题放在情节的中间和顶部,而我希望它位于情节的中间和底部.

plot r ggplot2

11
推荐指数
2
解决办法
4843
查看次数

对齐ggplot等值线的边缘(图例标题各不相同)

我试图使用这种方法对齐4 ggplot等值区域图的左右边缘.我虽然无法做到这一点.

原图:

library(ggplot2); library(gridExtra)
crimes <- data.frame(state = tolower(rownames(USArrests)), USArrests)
states_map <- map_data("state")
plot1 <- ggplot(crimes, aes(map_id = state)) +
    geom_map(aes(fill = Murder), map = states_map) +
    expand_limits(x = states_map$long, y = states_map$lat) + 
    scale_fill_gradient(low="white", high="darkgreen", name="Really Long Name 1")


plot2 <- plot1 + scale_fill_gradient(name="Really Long Name 2 and then some")
plot3 <- plot1 + scale_fill_gradient(name="Short 3") 
plot4 <- plot1 + scale_fill_gradient(name="Really Long Name 4")

grid.arrange(plot1, plot3, plot2, plot4, ncol = 2)
Run Code Online (Sandbox Code Playgroud)

尝试对齐绘图边缘(相同结果):

p1 <- ggplotGrob(plot1)
p2 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gridextra

10
推荐指数
1
解决办法
876
查看次数

如何使用ggplot2标记LOESS曲线的斜率变化?

我有一些时间序列数据,我在ggplot2中拟合黄土曲线,如附图所示.数据采用"S"曲线的形状.我真正需要知道的是数据开始趋于平稳的日期,它看起来正好在'550'或'600'时间

是否有某种定量方式可以在图中标出?

指向数据集的链接:http://dl.dropbox.com/u/75403/stover_data.txt

A dput()数据集:

structure(list(date = c(211L, 213L, 215L, 217L, 218L, 221L, 222L, 
223L, 224L, 225L, 226L, 228L, 229L, 230L, 231L, 232L, 233L, 234L, 
235L, 236L, 237L, 238L, 239L, 240L, 241L, 242L, 244L, 246L, 247L, 
248L, 249L, 250L, 251L, 253L, 254L, 255L, 256L, 258L, 259L, 260L, 
261L, 262L, 263L, 264L, 265L, 266L, 267L, 268L, 269L, 270L, 271L, 
272L, 273L, 274L, 275L, 276L, 277L, 278L, 279L, 281L, 282L, 283L, 
285L, 286L, 287L, 288L, 290L, 291L, 292L, …
Run Code Online (Sandbox Code Playgroud)

r loess

9
推荐指数
1
解决办法
3031
查看次数

将字符串转换为日期,格式为:"dd.mm.yyyy"

D <- "06.12.1948"                 # which is dd.mm.yyyy
as.Date(D, "%d.%m.%y")            # convert to date
[1] "2019-12-06"                  # ????    
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Sys.getlocale(category ="LC_ALL")[1]"LC_COLLATE = German_Austria.1252; LC_CTYPE = German_Austria.1252; LC_MONETARY = German_Austria.1252; LC_NUMERIC = C; LC_TIME = German_Austria.1252"

r date

9
推荐指数
2
解决办法
2万
查看次数

是否可以从RStudio中的R markdown(.Rmd)调用外部R脚本?

根据这个R Sweave示例加载外部R脚本是相当简单的:

<<external-code, cache=FALSE>>=
read_chunk('foo-bar.R')
@
Run Code Online (Sandbox Code Playgroud)

R Markdown可以做同样的事情吗?

r rstudio knitr r-markdown

9
推荐指数
1
解决办法
8884
查看次数

在开发基于组件/环的应用程序时使用emacs/cider的正确方法是什么?

在开发基于组件/环的clojure应用程序时,emacs/cider的正确工作流程/使用途径是什么?

我觉得我可以"附加"到我正在运行的compojure/ring-process,更改其代码,读取/更改其数据,但我无法理解我该如何做到这一点?什么是正确的方法?

我所做的?

lein new compojure my-project
cd my-project
lein ring server-headless
Run Code Online (Sandbox Code Playgroud)

开发服务器现在运行.如果我更改项目中的文件,它们将自动重新加载.那很好.但我想要的是,我直接附加到流程并更改其功能,例如.

我明白这是可能的,但我无法理解.

emacs clojure compojure ring leiningen

8
推荐指数
1
解决办法
1284
查看次数

获取data.table中前一个组的最后一行

这就是我的数据表的样子:

library(data.table)
dt <- fread('
    Product  Group    LastProductOfPriorGroup
    A          1          NA
    B          1          NA
    C          2          B
    D          2          B
    E          2          B
    F          3          E
    G          3          E
')
Run Code Online (Sandbox Code Playgroud)

LastProductOfPriorGroup列是我想要的列.我正在尝试从前一组的最后一行获取产品.所以在前两行中,没有先前的组,因此它是NA.在第三行中,前一组1的最后一行中的产品是B.我试图通过这个来实现这个目标

dt[,LastGroupProduct:= shift(Product,1), by=shift(Group,1)]
Run Code Online (Sandbox Code Playgroud)

无济于事.

r data.table

8
推荐指数
2
解决办法
744
查看次数

如何将单独的coord_cartesian()应用于"放大"到facet_grid()的各个面板中?

灵感来自Q 在曲线中找到肘部/膝盖,我开始玩耍smooth.spline().

特别是,我想要想象参数df(自由度)如何影响近似以及一阶和二阶导数.请注意,此Q 不是关于近似值,而是关于可视化中的特定问题(或边缘情况)ggplot2.

第一次尝试:简单 facet_grid()

library(ggplot2)
ggplot(ap, aes(x, y)) +
  geom_point(data = dp, alpha = 0.2) +
  geom_line() + 
  facet_grid(deriv ~ df, scales = "free_y", labeller = label_both) + 
  theme_bw()
Run Code Online (Sandbox Code Playgroud)

facet_grid

dp是一个data.table,包含寻求近似的数据点,ap是一个data.table,带有近似数据加上导数(数据如下).

对于每一行,facet_grid()scales = "free_y"已choosen其中显示了所有的数据的规模.不幸的是,一个面板有一些"异常值",这使得很难在其他面板中看到细节.所以,我想"放大".

"放大"使用 coord_cartesian()

ggplot(ap, aes(x, y)) +
  geom_point(data = dp, alpha = 0.2) +
  geom_line() + 
  facet_grid(deriv ~ df, scales = "free_y", labeller = label_both) + 
  theme_bw() +
  coord_cartesian(ylim = c(-200, …
Run Code Online (Sandbox Code Playgroud)

r facet ggplot2

8
推荐指数
1
解决办法
984
查看次数