我讨厌星期一.不是吗?
我正在尝试编写一个公式,显示最近一个星期一的日期.例如,今天是2011年7月6日,最近一个星期一是2011年7月4日.
我尝试过=TODAY()-WEEKDAY(TODAY())+2,但这个公式讨厌星期天,如果今天是2011年7月3日,那就失败了
我有一个SQL Server 2008数据库,其中一列名为ES&D.我想基于该列进行查询,如下所示:
SELECT ES&D FROM myDB
Run Code Online (Sandbox Code Playgroud)
或这个:
SELECT * FROM myDB WHERE ES&D=1
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误(我正在使用SQL Server Management Studio编写查询):
消息207,级别16,状态1,行1
无效的列名称"ES".
消息207,级别16,状态1,行1
无效的列名称"D".
有没有办法逃避&列名称,以便SQL按字面意思对待它?
我有大量的视觉foxpro dbf文件,我想转换为csv.(如果您愿意,可以在此处下载部分数据.点击2011年的交易数据链接,准备等待很长时间......)
我可以使用DBF View Plus(一个非常棒的免费软件实用程序)打开每个表,但是将它们导出到csv每个文件需要几个小时,我有几十个文件可以使用.
是否有像DBF View plus这样的程序可以让我设置一批dbf-to-csv转换来在一夜之间运行?
/编辑:或者,是否有一种将.dbf文件直接导入SQL Server 2008的好方法?它们都应该进入1个表,因为每个文件只是来自同一个表的记录的子集,并且应该具有所有相同的列名.
问题是,它基于for循环,而且速度很慢:
require('Metrics')
require('rbenchmark')
actual <- 1:20000
predicted <- c(1:20, 200:600, 900:1522, 14000:32955)
benchmark(replications=10,
apk(5000, actual, predicted),
columns= c("test", "replications", "elapsed", "relative"))
test replications elapsed relative
1 apk(5000, actual, predicted) 10 53.68 1
Run Code Online (Sandbox Code Playgroud)
我对如何对这个函数进行矢量化感到困惑,但我想知道是否有更好的方法在R中实现它.
我正在尝试在R中编写一个优雅的函数来计算两个时间戳之间的经过时间,这两个时间戳存储为格式为hmm或hhmm的整数.我想将经过的时间作为整数分钟返回.
到目前为止,这是我的解决方案,可能会大大改进:
#Treatment of varous length inputs:
#1 digit = m
#2 digits = mm
#3 digits = hmm
#4 digits = hhmm
#5+ digits = failure
elapsedtime <- function(S,E) {
S<-c(as.character(S))
E<-c(as.character(E))
if (length(S)!=length(E)) {
stop("Invalid input")
}
for (i in seq(1:length(S))) {
if (nchar(S[i])>4) {S[i]<-NA}
if (nchar(E[i])>4) {E[i]<-NA}
while (nchar(S[i])<4) {
S[i]<-paste('0',S[i],sep='')
}
while (nchar(E[i])<4) {
E[i]<-paste('0',E[i],sep='')
}
S[i]<-as.character(as.numeric(substr(S[i],1,2))*60+as.numeric(substr(S[i],3,4)))
E[i]<-as.character(as.numeric(substr(E[i],1,2))*60+as.numeric(substr(E[i],3,4)))
}
S<-as.numeric(S)
E<-as.numeric(E)
return(E-S)
}
elapsedtime(944,1733)
elapsedtime(44,33)
elapsedtime(44,133)
elapsedtime(c(944,44),c(1733,33))
elapsedtime(c(44,44),c(33,133))
elapsedtime(944,17335)
elapsedtime(c(944,945),c(1733,17335))
elapsedtime(c(944,945),c(1733,17335,34))
Run Code Online (Sandbox Code Playgroud)
我不太喜欢处理1位和2位数的情况,但我需要能够处理3位或4位数的输入.我在很多日期都运行这个,快速做3/4位数比慢慢做1,2,3或4位更好.
/ edit:更改代码以便在时间向量上正常工作
我有一张excel表,其中单元格A1-C20 = =INT(RAND()*10).这是我的数据范围.单元格E1 = 1,E2 = 2,E3 = 3等.这些是我想要找到的值.我设置单元格F1 = =MATCH(E1,A:C,0),F2 = =MATCH(E1,A:C,0)等.
但是,所有MATCH函数都返回#N/A,因为输入范围是多维的.如何测试给定值(1,2,3,4等)是否存在于多维范围(A1-C20)?
/ edit: 这个功能有效,但不仅仅是我需要的.有没有办法让它返回TRUE或FALSE,具体取决于查找值是否在范围内?
Function OzgridLookup(Find_Val As Variant, Occurrence As Long, Table_Range As Range, _
Offset_Cols As Long, Optional Column_Lookin As Long, Optional Row_Offset As Long) As Variant
Dim lLoop As Long
Dim FoundCell As Range
If Column_Lookin = 0 Then 'No column # specified
With Table_Range
'Top left cell has Find_Val & Occurrence is 1
If Table_Range.Cells(1, 1) …Run Code Online (Sandbox Code Playgroud) library(splines)
x <- runif(100000)
spline <- ns(x, df=5)
Run Code Online (Sandbox Code Playgroud)
如何判断此脊椎对象中的结?
> spline ['knots']
[1] NA
Run Code Online (Sandbox Code Playgroud)
str 让我接近我需要的东西,但我希望能够提取样条曲线的矢量,格式化它,并在Sweave文档中打印它.
> str(sp)
ns [1:117542, 1:5] 0.527 0.474 0.455 0.472 0.498 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:5] "1" "2" "3" "4" ...
- attr(*, "degree")= num 3
- attr(*, "knots")= Named num [1:4] 1.03 1.55 1.99 2.7
..- attr(*, "names")= chr [1:4] "20%" "40%" "60%" "80%"
- attr(*, "Boundary.knots")= num [1:2] 0.0214 4.9999
- attr(*, "intercept")= logi FALSE …Run Code Online (Sandbox Code Playgroud) 我有一个数据帧我用拉成R 的SQLQuery.我想从data.frame的名字中删除所有空格和特殊字符,但是sqlQuery没有strip.white=TRUE选项,所以我想用正则表达式来做这个.
这适用于空白:
myNames <- c("Sample Selection Reason", "My ID")
myNames <- gsub('\\s+', '.', myNames )
Run Code Online (Sandbox Code Playgroud)
关于特殊字符我该怎么办?
我已经为每个栏中的大多数类编写了一个有用的函数来着色直方图条:
color_hist <- function(x, cats, ...){
hist <- hist(x, plot=FALSE, ...)
cuts <- cut(x, breaks=hist$breaks)
color = apply(table(cuts, cats), 1, which.max)
hist(x, col=color,...)
}
color_hist(iris[,4], iris[,5])
Run Code Online (Sandbox Code Playgroud)

我想尽可能地复制行为hist(),但我无法弄清楚如何将标题和x标签从原始直方图传递到彩色化的直方图:

我希望新的直方图具有与旧直方图相同的默认标题/ xlabels,我还想通过任何其他用户指定的参数.任何人都可以帮我解决这个问题,或以其他任何方式改进这个功能?
(如果我可以让颜色相互融合,也会很酷,这取决于班级百分比......)