我想运行以下内容:
ls /path/to/files/pattern*
Run Code Online (Sandbox Code Playgroud)
得到
/path/to/files/pattern1
/path/to/files/pattern2
/path/to/files/pattern3
Run Code Online (Sandbox Code Playgroud)
但是,有太多文件匹配该目录中的模式,我得到了
bash: /bin/ls: Argument list too long
Run Code Online (Sandbox Code Playgroud)
有什么更好的方法呢?也许使用find命令?我需要打印出文件的完整路径.
假设我有一个R data.table:
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
Run Code Online (Sandbox Code Playgroud)
我有一个我想要提取的列名字符向量,或者更一般地操作:
cols = c("x","y")
Run Code Online (Sandbox Code Playgroud)
例如,我如何使用cols生成等效的
DT[,lapply(.SD[,list(x,y)], min) ]
Run Code Online (Sandbox Code Playgroud)
有没有办法使用cols向量指定列表(x,y)?
我经常想一次处理 data.table 的一行。我一直在用
d[, j, by=rownames(d)]
Run Code Online (Sandbox Code Playgroud)
但这似乎并不总是有效(有时会通过似乎对列名求值来获得错误消息),并且在任何情况下都不是我想要做的事情的一个非常清晰的表达。
让我举一个具体的例子。
d = data.table(a=c(1,2),b=c(3,4))
f = function(x,y) x[1]+y[1] #expects length 1 vectors x and y and adds them
d[, id := 1:.N]
d[, f(a,b), by=id]
d[, id := NULL]
Run Code Online (Sandbox Code Playgroud)
情况是我有一个未矢量化的函数 f 。我用 id 列装饰了 d,所以我可以一次处理一行。我正在寻找一种更好的方法来做到这一点。
这是另一个例子,没有函数 f:
d[, list(a=a,b=b,s=a:b), by = id]
d[, id := NULL]
Run Code Online (Sandbox Code Playgroud) 我有一个data.table DT,我想继续model.matrix它.每行都有一个字符串ID,存储在ID列中DT.当我跑步model.matrix时DT,我的公式排除了ID列.问题是,model.matrix由于NA而丢弃了一些行.如果我设置的rownames DT到ID列,调用之前model.matrix,那么最终的模型矩阵具有rownames,和我都准备好.否则,我无法弄清楚我最终会遇到什么行.我正在设置rownames rownames(DT) = DT$ID.但是,当我尝试添加新列时DT,我会收到投诉
"检测到无效的.internal.selfref ......在早些时候,这个data.table已经被R复制了."
所以我很想知道
data.table我有一个4列的xts对象.前3列是一个比例的平均值和下限和上限置信度.第4列是样本大小.由于尺度不同,我认为在一个图形上绘制前3列是有意义的,并在其下方的单独图形上绘制第4列.有关如何做到这一点的任何建议?
这是构建xts对象的代码,就像我拥有的那样:
startTime = Sys.time()
n = 10
d = seq(startTime,startTime+n*24*60*60,by="1 day")
a = sample(10000,length(d),replace=TRUE)
p = runif(length(d))
l = p/2
u = p+(p+1)/2
x= xts(p,d)
x = cbind(x,l,u,a)
colnames(x) = c("prop","low","high","size")
Run Code Online (Sandbox Code Playgroud)