小编big*_*377的帖子

R:with()函数内的调试模式

由于某种原因,当我的函数体位于 with() 表达式内时,调试模式似乎不允许我进入 with() 部分。为什么会这样,有办法解决这个问题吗?下面是一个愚蠢的(但希望可以重现)演示。

    ff=function(x){
      print("Hello")
      with(iris,{
        y=x;
        z=y+mean(Sepal.Width);
        return(z);})
    }
Run Code Online (Sandbox Code Playgroud)

现在进入调试模式并尝试该功能...

    debugonce(ff);debugonce(with);
    ff(10)
Run Code Online (Sandbox Code Playgroud)

调试模式只是跳过 with() 子句,并返回答案 (13.05733)。我如何进入这些内部条款?

debugging r with-statement

2
推荐指数
1
解决办法
1238
查看次数

KDB排除具有空值的行

我有一个表,其中有一些具有空值的单元格(散布在数据集中).是否有任何简单的方法可以排除任何列中具有null的所有行?

我只是想避免这个......

select from T where not null col1, not null col2, not null col3, etc... 
Run Code Online (Sandbox Code Playgroud)

null kdb

2
推荐指数
1
解决办法
6184
查看次数

KDB使用预先存在的表的模式创建空表

想象一下,我有一个填充表T_old与给定的模式(让我们说混合的int,浮点数,符号等)我现在想要创建一个新的空/空表T_new,它具有与T_old完全相同的模式.我该怎么做呢?最后,我希望这两个操作都有效:T_old uj T_new和T_new uj T_old.有什么建议?

schema kdb

0
推荐指数
1
解决办法
1110
查看次数

在脚本的命令行上传递glob,只展开第一个项目

我有以下目录结构,我正在尝试创建一个简单的bash脚本,用模式foo*/scripts/*A.txt打印出所有文件(即foo1/scripts/fileA.txt和foo2/scripts/fileA.txt)

$ tree

.
??? bar
?   ??? scripts
?       ??? fileA.txt
?       ??? fileB.txt
??? bash_scrap.sh
??? foo1
?   ??? scripts
?       ??? fileA.txt
?       ??? fileB.txt
??? foo2
    ??? scripts
        ??? fileA.txt

    ??? fileB.txt
Run Code Online (Sandbox Code Playgroud)

我现在创建一个脚本bash_scrap.sh,我想用第一个命令行参数给出的模式打印所有文件名.

$ cat bash_scrap.sh 
#!/bin/bash
FILES=$1 
for f in $FILES
do
  echo "Processing $f file..."
  printf "\n\n"
done
Run Code Online (Sandbox Code Playgroud)

当我直接定义FILES并在终端中运行脚本时,我得到了预期的输出

$ FILES=foo*/scripts/*A.txt
$ for f in $FILES; do   echo "Processing $f file...";   printf "\n\n"; done
Processing foo1/scripts/fileA.txt file...


Processing foo2/scripts/fileA.txt file...
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试将此作为带有输入模式的脚本运行,它只打印出第一个文件名.

$ ./bash_scrap.sh foo*/scripts/*A.txt …
Run Code Online (Sandbox Code Playgroud)

bash shell

0
推荐指数
1
解决办法
34
查看次数

标签 统计

kdb ×2

bash ×1

debugging ×1

null ×1

r ×1

schema ×1

shell ×1

with-statement ×1