在这个数据步骤中,我不明白做if last.y什么......你能告诉我吗?
data stop2;
set stop2;
by x y z t;
if last.y; /*WHAT DOES THIS DO ??*/
if t ne 999999 then
t=t+1;
else do;
t=0;
z=z+1;
end;
run;
Run Code Online (Sandbox Code Playgroud) 我在某些文件类型上有一些首选的colorscheme,但是当我打开另一个文件(具有不同colorscheme的不同文件类型)并返回到前一个文件时,新的colorscheme仍然存在.
我在我的Gvimrc中有这个(使用gvim)
autocmd WinEnter,FileType * colorscheme default
autocmd WinEnter,FileType c,cpp colorscheme darkblue
autocmd WinEnter,FileType R,r colorscheme desert
Run Code Online (Sandbox Code Playgroud)
当我浏览缓冲区时,如何修改以确保colorscheme根据文件类型保留?
编辑:添加以下没有修复
autocmd BufEnter,BufNew,FileType c,cpp colorscheme darkblue
autocmd BufEnter,BufNew,FileType R,r colorscheme desert
Run Code Online (Sandbox Code Playgroud) 我希望能够使用该deparse功能,如果我这样做
g = function(x) deparse(substitute(x))
Run Code Online (Sandbox Code Playgroud)
那么就可以了
R) g(test)
[1] "test"
Run Code Online (Sandbox Code Playgroud)
但如果我想测试 的参数是否g是character
h = function(x) {if(is.character(x)){return(x)}; deparse(substitute(x))}
R) h(test)
Error in h(test) : object 'test' not found
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我可以修复它吗?
编辑:从新复制R --vanilla
R version 2.15.2 (2012-10-26)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
Run Code Online (Sandbox Code Playgroud) 我正在使用fasttime包来实现其fastPOSIXct功能,可以非常有效地读取字符日期时间.我的问题是它只能读取GMT中表达的字符日期时间.
R) fastPOSIXct("2010-03-15 12:37:17.223",tz="GMT") #very fast
[1] "2010-03-15 12:31:16.223 GMT"
R) as.POSIXct("2010-03-15 12:37:17.223",tz="GMT") #very slow
[1] "2010-03-15 12:31:16.223 GMT"
Run Code Online (Sandbox Code Playgroud)
现在,假设我有一个日期时间以"America/Montral"时区表示的文件,计划是加载它们(隐含地假装它们在GMT中)并随后修改时区属性而不更改基础值.
如果我使用这个功能,请参考另一篇文章:
forceTZ = function(x,tz){
return(as.POSIXct(as.numeric(x), origin=as.POSIXct("1970-01-01",tz=tz), tz=tz))
}
Run Code Online (Sandbox Code Playgroud)
我看到一个bug ...
R) forceTZ(as.POSIXct("2010-03-15 12:37:17.223",tz="GMT"),"America/Montreal")
[1] "2010-03-15 13:37:17.223 EDT"
Run Code Online (Sandbox Code Playgroud)
...因为我希望它是
R) as.POSIXct("2010-03-15 12:37:17.223",format="%Y-%m-%d %H:%M:%OS",tz="America/Montreal")
[1] "2010-03-15 12:37:17.223 EDT"
Run Code Online (Sandbox Code Playgroud)
有解决方法吗?
编辑:我知道lubridate::force_tz但它太慢了(不再使用fasttime::fastPOSIXct了点)
假设我有以下内容data.table(但将其视为包含大量具有动态更改名称的列的表)
DT <- data.table(a=rep(1L,3),b=rep(1.32,3),d=rep("qwe",3))
DT
a b d
1: 1 1.32 qwe
2: 1 1.32 qwe
3: 1 1.32 qwe
Run Code Online (Sandbox Code Playgroud)
现在说我想创建一个NAs我可以rbindlist使用DT的行.
第一次尝试(它不工作)
DT1 <- DT[1][,colnames(DT):=NA]
DT1
a b d
1: NA NA NA
rbindlist(list(DT1,DT))
a b d
1: NA NA NA
2: TRUE TRUE NA
3: TRUE TRUE NA
4: TRUE TRUE NA
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为DT1在:=NA调用时会进行转换(看起来像是plonking,因为如果你提供一个完整的列,当:=RHS类型将覆盖LHS ......)
那么问题是,如何提取一行a data.table并用NA填充它或创建一个data.table填充NA,其具有与另一个相同的列名和列类型
我想绘制一个,barplot但我在x轴上有日期,我希望这些日期正确间隔(因为它是非绝对的)
set.seed(1)
m = matrix(abs(rnorm(6)),3,2)
rownames(m) = as.Date(c('2011-01-01','2011-01-03','2011-01-10'))
barplot(t(m),beside=T,col=c('red','blue'),las=2)
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我希望14984在右边偏移.我宁愿一个graphics解决方案,但ggplot2也很好
说我有
X = seq(1,10,1)
X0 = c(-Inf,X)
X1 = c(X,Inf)
Run Code Online (Sandbox Code Playgroud)
我怎样才能列出对 (-Inf,1);(1,2);...;(10,+Inf)
这很接近,但并不完全
R) test = mapply(c,c(-Inf,thresh),c(thresh,Inf))
R) test
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20]
[1,] -Inf 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
[2,] 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 …Run Code Online (Sandbox Code Playgroud) 我有一个包含自纪元以来的时间的文件.问题是那些时间写得像[0-9]{3}[ms|s|m]
times = c('001ms','023ms','011s','923s','001m','012m','111m')
Run Code Online (Sandbox Code Playgroud)
我希望能够将其转换为"毫秒数"(或数字或秒或分钟......).我会得到类似的东西:
c(1, 23, 11000, 923000, ...)
Run Code Online (Sandbox Code Playgroud)
是否有一些功能可以让我有效地解析这些时间?
我最近升级到Fedora 23之后试图在我的用户目录中构建vim
我有ncurses和ncurses-devel
[root@statquant-laptop lib]# dnf install ncurses
Last metadata expiration check performed 1:09:48 ago on Sat Jan 9 10:33:06 2016.
Package ncurses-5.9-21.20150214.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
[root@statquant-laptop lib]# dnf install ncurses-devel
Last metadata expiration check performed 1:09:58 ago on Sat Jan 9 10:33:06 2016.
Package ncurses-devel-5.9-21.20150214.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
Run Code Online (Sandbox Code Playgroud)
这是证明:
[root@statquant-laptop lib]# ll /usr/lib/libncurs*
lrwxrwxrwx. 1 root root 17 Jun 17 2015 /usr/lib/libncurses.so.5 -> libncurses.so.5.9
lrwxrwxrwx. …Run Code Online (Sandbox Code Playgroud) 在 linux 上,我需要能够将 R 版本分配给一个变量,通常我使用 R 3.4.1 as per R.Version()。
3.4在这种情况下我怎么能得到,即类似的东西
export RVERSION=$(some-command)