小编Ric*_*ron的帖子

是否有 Excel“缺失值”或“NA”符号?

我刚开始学习 Excel,但有 R 和 Stata 方面的经验。Excel 是否缺少符号约定?也就是说,Excel 是否有类似 RNA或 Stata 的东西.

例如,我评估一个IF()语句并希望返回一个值,该值将在我使用的后续计算中被忽略"NA"。这是 Excel 中的正确方法吗?似乎我缺少一个基本概念,但我无法让 Google 给我一个更好的答案。

为了使这更具体,我有一个像=IF([@[Div Dummy]]=1,"NA",EOMONTH(A8,0)). 有没有办法获得数字“缺失值”占位符,这样我就不会收到有关冲突数据类型的警告?

microsoft-excel

10
推荐指数
1
解决办法
5万
查看次数

将项目添加到 Windows 8 中的“新建”上下文菜单

我想在 Windows 8 的“新建”上下文菜单中添加一个空的Markdown文件。我看到至少有两种解决方案可以解决这个问题,但它们都不适合我。

这可能吗?FWIW,降价文件只是一个带有 .md 扩展名的纯文本文件。

第一次尝试

我做了一个.reg脚本,如下所示这里

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.md\ShellNew]
"NullFile"=""
Run Code Online (Sandbox Code Playgroud)

但是,即使重新启动后,我也没有在“新建”上下文菜单下看到降价。这是我运行此脚本后的注册表,这似乎是正确的。

运行脚本后我的注册表

第二次尝试

我也尝试新的菜单编辑器,如图所示这里。这通常有效,但 .md 扩展名不会出现在左窗格中。


更新 1

ShellNewHandler显示降价扩展。我必须以某种方式添加模板文件吗?

ShellNewHandler 屏幕截图

windows-registry context-menu windows-8

7
推荐指数
1
解决办法
2216
查看次数

使用 Latexsuite 插件在 gvim 中默认将 .tex 文件编译为 .pdf

现在,我使用下拉菜单来设置:TTarget:TCTarget以及:TVTargetpdf

我也试过设置g:Tex_DefaultTargetFormat='pdf'and g:tex_flavor='pdflatex',但都没有奏效。

谢谢!

vim latex gvim

6
推荐指数
1
解决办法
6835
查看次数

什么是 ^I 字符,我如何使用 sed 找到它?

我通常将数据从 csv 文件导入 MySQL,但我的数据提供程序将 NULL 条目保留为“”,因此我需要将“”替换为“\N”。这很容易使用类似的脚本

for csvfile in *.csv
do
    sed -i -e 's/^,/\\N,/' -e 's/,$/,\\N/' -e 's/,,/,\\N,/g' -e 's/,,/,\\N,/g' $csvfile
done
Run Code Online (Sandbox Code Playgroud)

但是,我有一个带逗号的 csv 文件,因此导入失败。我将文件设为“制表符分隔”并尝试

for txtfile in *.txt
do
    sed -i -e 's/^\\t/\\N\\t/' -e 's/\\t$/\\t\\N/' -e 's/\\t\\t/\\t\\N\\t/g' -e 's/\\t\\t/\\t\\N\\t/g' $txtfile
done
Run Code Online (Sandbox Code Playgroud)

但它仍然失败(据我所知,脚本没有添加任何“\N”)。当我在 Vim 中打开制表符分隔的文件并键入时,:set list它看起来像是制表符存储为“^I”。我尝试用“\^I”替换“\t”,但没有添加我需要的“\N”空字符。

有任何想法吗?谢谢!

text-editing vim sed escape-characters

5
推荐指数
2
解决办法
2万
查看次数

使用带有搜索模式的 argdo 删除行,同时在 Vim 中抑制错误并要求确认

我在 Win 7 上使用 gVim 7.3.46。

这是非常简单的使用argdo搜索args文件的模式取代它同时抑制错误,并要求确认。

:argdo %s/pattern/replace/gec | update
Run Code Online (Sandbox Code Playgroud)

但是,我想删除包含该模式的整行。我使用以下内容。

:argdo %/pattern/d | update
Run Code Online (Sandbox Code Playgroud)

但我无法抑制错误或需要确认。有没有办法做到这一点?谢谢!

(另外,有没有办法设置“更多”?谢谢!)

vim

4
推荐指数
1
解决办法
898
查看次数

如何处理在 mercurial 中不需要版本控制的文件

我是 mercurial 的新手,在大多数情况下,使用 .csv 和/或 .sqlite 文件在 R 中进行 LaTeX 报告和统计计算。Re LaTeX,我真正关心的是 .tex 文件。Re R,我不需要对 .csv 或 .sqlite 文件进行版本控制,因为它们是静态的。

当我使用 .csv 和/或 .sqlite 文件为 repo 执行“hg add”时,我收到如下警告:

rev2.sqlite: up to 3070 MB of RAM may be required to manage this file
(use 'hg revert rev2.sqlite' to cancel pending addition)
Run Code Online (Sandbox Code Playgroud)

所以我恢复并随后使用添加像hg add -X *.sqlite. 我想我真的有两个问题:

(1) 我应该忽略这些警告吗?因为这些大文件是静态的,我可以在知道 diff 文件总是空的而不用担心浪费资源的情况下添加到 repo 中吗?

(2) 如果我应该继续从 repo 中排除这些文件,我可以修复这个选项吗?IE,向我的 .hgrc 文件添加一些总是附加一个选项的东西,比如-I *.tex -I *.R我的“hg add”命令?

谢谢!

version-control mercurial

3
推荐指数
1
解决办法
2120
查看次数

我可以删除带有给定搜索字符串的任何行吗?

在 Vim 中,我想用给定的字符串搜索行,然后删除它们。

具体来说,我想用 LaTeX 命令\begin{frame}和查找行\end{frame},然后删除它们。=

vim find-and-replace

3
推荐指数
1
解决办法
426
查看次数

编译 Pandoc Haskell 脚本:找不到模块`Text.Pandoc.JSON'

我正在尝试使用Pandoc 脚本页面中的一个罐头示例,但我对 Haskell 的了解不够充分,无法完成这项工作。这是脚本。

#!/usr/bin/env runhaskell
-- includes.hs
import Text.Pandoc.JSON

doInclude :: Block -> IO Block
doInclude cb@(CodeBlock (id, classes, namevals) contents) =
  case lookup "include" namevals of
       Just f     -> return . (CodeBlock (id, classes, namevals)) =<< readFile f
       Nothing    -> return cb
doInclude x = return x

main :: IO ()
main = toJSONFilter doInclude
Run Code Online (Sandbox Code Playgroud)

我将其另存为includes.hs. 要将其用作 Panodc 过滤器,我需要对其进行编译,因此我运行了ghc --make include.hs,但出现以下错误。

C:\Users\richa_000\Dropbox\CV>ghc --make includes.hs

includes.hs:3:8:
    Could not find module `Text.Pandoc.JSON'
    Use -v …
Run Code Online (Sandbox Code Playgroud)

haskell pandoc

3
推荐指数
1
解决办法
1812
查看次数

如何在 Vim 中“重用”正则表达式查找和替换

我有一个带有条目的纯文本文件

firstAuthorLastName_titleFirstWord_YYYY
Run Code Online (Sandbox Code Playgroud)

我改成

firstAuthorLastNameYYYYtitleFirstWord
Run Code Online (Sandbox Code Playgroud)

s//在 Vim 中使用以下命令。^[1]

%s/\([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)/\1\3\2/g
Run Code Online (Sandbox Code Playgroud)

但我想一遍又一遍地执行这个命令。看来,我应该能够与Windows批处理脚本,并在为此-c标志gvim.exe。但我无法让它工作。

我有一个包含以下内容的 Windows 批处理脚本。

gvim -c "%s/\([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)/\1\3\2/g" herron.bib
Run Code Online (Sandbox Code Playgroud)

但我收到了消息E486: Pattern not found: \([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)。有没有办法重用/自动化这个s//命令?我知道我可以通过我的前命令历史向上箭头,但我想要一些更持久和可靠的东西。

[^1] FWIW,这是我从Zotero导出的 BibTeX .bib 文件。再往下游,我使用vim-pandocMarkdown写笔记。下划线使使用 vim-pandoc“整洁”功能变得更加困难,因此我将其删除。我每周更新 .bib 几次并从 Zotero 重新导出它,所以我还需要每周运行几次这个正则表达式。

vim regex batch command-line

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