我是R的新手,正在更新R脚本以迭代使用ArcGIS创建的一系列.dbf表并生成一系列图表.
我有一个目录,C:\ Scratch,它将包含我的所有.dbf文件.但是,当ArcGIS创建这些表时,它还包含.dbf.xml文件.我想从我的文件列表中删除这些.dbf.xml文件,从而删除我的迭代.我试过搜索和试验正则表达式无济于事.这是我正在使用的基本表达式(不包括所有各种实验):
files <- list.files(pattern = "dbf")
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我一些方向吗?
因此,在工作中我们使用flexitime(弹性小时,弹性小时......)这很好,但很难跟踪.我目前正在使用org-mode来跟踪我的小时数(org-clock-(out|in)
)但我想扩展它以自动计算我是否已经工作超过8小时(剩余时间应添加到我的弹性时间'帐户')或更少(取决于我休息的午休时间等),我的弹性时间'帐户'上的余额等等.
有没有其他人使用Emacs?
我目前正在使用一个非常基本的设置来跟踪我的时间:
(defun check-in ()
(interactive)
(let (pbuf (current-buffer))
(find-file (convert-standard-filename "whatnot"))
(goto-char (point-max))
(insert "\n")
(org-insert-heading)
(org-insert-time-stamp (current-time))
(org-clock-in)
(save-buffer)
(switch-to-buffer pbuf)))
(defun check-out ()
(interactive)
(let (pbuf (current-buffer))
(find-file (convert-standard-filename "whatnot"))
(goto-char (point-max))
(org-clock-out)
(save-buffer)
(switch-to-buffer pbuf)))
Run Code Online (Sandbox Code Playgroud) 我想在Emacs中运行shell命令并将完整输出捕获到变量.有没有办法做到这一点?例如,我想能够设置hello-string
于"hello"
以下方式:
(setq hello-string (capture-stdout-of-shell-command "/bin/echo hello"))
Run Code Online (Sandbox Code Playgroud)
该函数是否capture-stdout-of-shell-command
存在,如果存在,它的真实名称是什么?
在常见的lisp中,我可以这样做:
(mapcar #'cons '(1 2 3) '(a b c))
=> ((1 . A) (2 . B) (3 . C))
Run Code Online (Sandbox Code Playgroud)
我如何在elisp中做同样的事情?当我尝试时,我收到一个错误:
(wrong-number-of-arguments mapcar 3)
Run Code Online (Sandbox Code Playgroud)
如果elisp的mapcar一次只能在一个列表上工作,那么将两个列表组合成一个列表的自动方式是什么?
使用迷你缓冲区(Cx Cf)切换文件时,我经常使用M-Backspace来删除路径中的单词.Emacs会自动将我删除的内容放入kill ring中.这可能很烦人,因为有时我正在移动到另一个文件来粘贴东西,我最终粘贴了部分文件路径.我知道有解决方法,其他代码仍然在kill ring等,但我只是想禁用此功能.
如果我M-x shell
在emacs中运行以获取终端,它会知道自动换行的位置.例如,输出ls
格式化为适合窗口的列.
我的问题是如果我然后垂直拆分窗口C-x 3
,shell模式仍然认为窗口填满了整个框架.结果是命令输出的丑陋包装.有没有办法让shell模式知道它必须更新屏幕宽度?
编辑:
使用下面的HN答案,我想出了这个修复:
(defun my-resize-window ()
"Reset the COLUMNS environment variable to the current width of the window."
(interactive)
(let ((proc (get-buffer-process (current-buffer)))
(str (format "export COLUMNS=%s" (window-width))))
(funcall comint-input-sender proc str)))
(defun my-shell-mode-hook ()
(local-set-key "\C-cw" 'my-resize-window))
Run Code Online (Sandbox Code Playgroud) 我在R 2.14的变化中注意到了这一点:
R CMD Sweave现在有一个--pdf选项来生成已处理的Sweave文档的PDF版本.
尝试一下,我注意到它不仅在生成的tex上运行了pdfLaTeX,而且还正确地包含了bibTeX引用并在之后进行了清理.现在似乎是一种非常好的使用Sweave的方式(更不用说现在在编辑器中实现整个例程是多么容易).
但到底这究竟是什么呢?我找不到更多细节.看来Sweave - > pdflatex - > bibtex - > pdflatex - > pdflatex至少?
在R中完成线性判别分析后lda()
,是否有方便的方法来提取每个组的分类函数?
从链接,
不要将这些与判别函数混淆.分类函数可用于确定每个案例最可能属于哪个组.分组功能与组相同.每个函数允许我们通过应用公式计算每个组的每个案例的分类分数:
Si = ci + wi1*x1 + wi2*x2 + ... + wim*xm
Run Code Online (Sandbox Code Playgroud)
在该式中,下标i表示各自的组; 下标1,2,...,m表示m个变量; ci是第i组的常数,wij是计算第i组分类得分时第j个变量的权重; xj是第j个变量的相应情况的观测值.Si是得到的分类分数.
我们可以使用分类函数直接计算一些新观察的分类分数.
我可以使用教科书公式从头开始构建它们,但这需要从lda分析重建许多中间步骤.有没有办法从lda对象中获取它们?
添加:
除非我仍然在布兰登的回答中误解了一些事情(对不起这个混乱!),似乎答案是否定的.据推测,大多数用户可以从中获取所需的信息predict()
,从而提供基于的分类lda()
.
emacs中的ESS/Stata模式错误地缩进以运算符结尾的行后面的行.它似乎错误地将这些行解释为多行命令.
例如:
gen foo = 1
/* generate another variable */
gen bar = 1
Run Code Online (Sandbox Code Playgroud)
"gen bar = 1"这一行不应缩进.看起来EMACS将注释中的尾部斜杠解释为运算符,并认为这行代码跨越两行.
实际上,stata中的多行命令有3个尾部斜杠,而没有3个尾部斜杠的换行符表示语句的结束.例如,以下缩进是正确的:
gen bar = 1
gen ///
foo = 1
Run Code Online (Sandbox Code Playgroud)
我可以在我的.emacs中添加一些内容来纠正这种行为吗?我不想完全放弃自动标签 - 除了/*看起来像*/的评论之外,它的效果非常好.
谢谢,
PNJ