小编ema*_*gar的帖子

lubridate中的有效时区

快速的谷歌搜索似乎让我无处可去.在lubridate的tz选项中有哪些有效时区?特别是,我正在寻找巴西利亚的时区.谢谢!

library(lubridate)
dts <- c("6-3-1995 12:01:01","29-3-1995 23:01:01","29-3-1995 20:01:01")
dmy_hms(dts)               # locale's tz default
dmy_hms(dts, tz = "chile") # Chilean time (has one time zone only)
Run Code Online (Sandbox Code Playgroud)

r posixct lubridate

17
推荐指数
1
解决办法
5860
查看次数

在lubridate增加15个工作日

我有一长串某个程序的开始日期.规则要求程序最多在6个工作日内完成.我希望计算截止日期.

在R中使用lubridate,我可以获得六天的截止日期

> library(lubridate)
> date.in <- dmy(c("30-8-2001", "12-1-2003", "28-2-2003", "20-5-2004"))
> date.in
[1] "2001-08-30 UTC" "2003-01-12 UTC" "2003-02-28 UTC" "2004-05-20 UTC"
> deadline.using.days <- date.in + days(6)
> deadline.using.days
[1] "2001-09-05 UTC" "2003-01-18 UTC" "2003-03-06 UTC" "2004-05-26 UTC"
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的方法可以增加六个工作日 - 即周六和周日不跳?谢谢.

r lubridate

5
推荐指数
2
解决办法
4664
查看次数

R中的apply()具有用户定义的函数

我有一个数据框,其中有投票和政党标签

dat <- data.frame( v1=c(25, 0, 70), 
                   v2=c(75, 100, 20), 
                   v3=c(0, 0, 10), 
                   l1=c("pA", ".", "pB"), 
                   l2=c("pB", "pC", "pC"), 
                   l3=c(".", ".", "pD") )
Run Code Online (Sandbox Code Playgroud)

这样每行就是一个分析单位.只有投票方才需要考虑,此功能可以提取正面投票或相应的标签

getpos <- function(vector, vorl="v"){ # change to "l" to report labels
    vot <- vector[grep( "v", colnames(vector) )]; 
    lab <- vector[grep( "l", colnames(vector) )];
    if (vorl=="v") {vot[vot>0]} else {lab[vot>0]};
}
getpos(dat[1,])           # votes for obs 1
getpos(dat[1,], vorl="l") # labels for obs 1
Run Code Online (Sandbox Code Playgroud)

我希望在数据帧dat的每一行中运行函数getpos,以便生成具有不同长度的投票/标签向量的列表.应用该函数不会返回我期望的内容:

apply(X=dat, MARGIN=1, FUN=getpos, vorl="l")
Run Code Online (Sandbox Code Playgroud)

谁能发现问题?相关,这可以更有效地实现吗?

r apply

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

Ruby 中的 Bundle gem 加载错误

从头开始学习 Jekyll/Ruby 时,尝试为 Jekyll 安装主题,但我搞砸了一些事情。现在,每当我执行时,我都会收到一条错误消息bundle。有人知道如何修复吗?

$ bundle -v
/usr/local/bin/bundle:23:in `load': cannot load such file -- 
/usr/lib/ruby/gems/2.3.0/gems/bundler-1.16.1/exe/bundle (LoadError)
    from /usr/local/bin/bundle:23:in `<main>'
Run Code Online (Sandbox Code Playgroud)

网上有很多人提到了这个错误,但答案/建议普遍缺乏一致性。

我继续说:

  1. apt-get --purge autoremove ruby
  2. 被抹去/var/lib/gems/
  3. apt-get install ruby
  4. apt-get install ruby-dev
  5. gem install jekyll

但问题仍然存在。

这个问题可能与类似,有类似的解决方案吗?

一些相关信息:

$ ruby -v
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
$ gem list
*** LOCAL GEMS ***
...
bundler (default: 1.16.1)
...
Run Code Online (Sandbox Code Playgroud)

运行 ubuntu 16.04。

ruby rubygems jekyll

3
推荐指数
1
解决办法
5040
查看次数

标签 统计

r ×3

lubridate ×2

apply ×1

jekyll ×1

posixct ×1

ruby ×1

rubygems ×1