我正在为Emacs使用Emacs-Speaks-Statistics(ESS)模式.编辑R代码时,任何注释行(以#开头的那些注释行)会在我上面创建一个新行时自动获得最右边的选项卡.我应该如何更改我的.emacs.el文件来修复此问题?
例如,我有:
# Comment
Run Code Online (Sandbox Code Playgroud)
现在,在将光标放在行的开头并按Enter后,我得到:
# Comment
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何提示.
转换数据帧后,我想根据现有行为列分配头/名称.我的标题目前是:
row.names X2 X3 X4 X5 X6 X7 X8 X9 ...
Run Code Online (Sandbox Code Playgroud)
我想摆脱它并使用以下行作为列标题(因为我有很多,所以不必输入它们).
我唯一的解决方案是导出和重新加载数据(header = T).
我以前在C/C++中做过相当多的编程,但是现在它只占我编程的一小部分(脚本语言更适合我做的很多工作).过去几天我参与了一些C编程项目,并且惊讶于我忘记了多少很少的语法细节.更糟糕的是cc
/ gcc
通常有关于这些问题的含糊不清或无信息的错误消息(抱歉,我不记得任何具体的例子).
我clang
不久前就学会了编译器,并决定尝试一下.错误消息更清晰,帮助我识别和修复语法中的问题.我的问题是为什么不使用/提及这个工具比它更多?它是否与通常的嫌疑人(cc
/ gcc
)相比是如此新颖,还是它不支持他们支持的功能,或者它是否更难获得?我很难相信最后一个,因为它在我的iMac上安装了dev工具,并且需要sudo apt-get install clang
在我的Ubuntu盒子上安装一个命令().
Common Lisp或Chicken Scheme有吗?可能类似于C的夹板,Haskell的HLint,Perl的B :: Lint等等?
我想知道R中是否有任何包可以使用x,y坐标和形状大小来绘制这样的东西:
我有车辆前部中心的坐标和它们的尺寸(长度和宽度).
这是原始数据集的样子:
> head(df)
Vehicle.ID Frame.ID Global.X Global.Y Vehicle.Length Vehicle.width Lane Preceding.Vehicle.ID Following.Vehicle.ID Spacing Headway
1 2 43 6451214 1873261 14.5 4.9 2 0 13 0 0
2 2 44 6451217 1873258 14.5 4.9 2 0 13 0 0
3 2 45 6451220 1873256 14.5 4.9 2 0 13 0 0
4 2 46 6451223 1873253 14.5 4.9 2 0 13 0 0
5 2 47 6451225 1873250 14.5 4.9 2 0 13 0 0
6 2 48 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将数据分配给现有数据框,并在循环中生成名称.一个基本的例子可能是
A = data.frame(a = c(1,2,3), b=c(3,6,2))
for (i in 1:2){
name = paste("Name",i, sep="")
assign(name, c(6,3,2))
}
Run Code Online (Sandbox Code Playgroud)
现在我只需要弄清楚如何将name1和name2添加到data.frame A,同时保留其指定的名称.我确信有一个简单的答案,我现在就没有看到它.
最后我想结束
A
#a b name1 name2
#1 3 6 6
#2 6 3 3
#3 2 2 2
Run Code Online (Sandbox Code Playgroud)
但我需要以自动化的方式做到这一点.
例如,如果for循环可以适应
for (i in 1:2){
name = paste("Name",i, sep="")
assign(name, c(6,3,2)
A= cbind(A, get(paste(name,i,sep=""))) # works but doesn't maintain the column name as name1 or name2 etc
}
Run Code Online (Sandbox Code Playgroud)
但是这不保留列名
我正在为我正在制作的R包记录我的一些函数.
我正在使用roxygen标记,尽管这与我的问题基本无关.
我已经将方程式放入我的文档中\deqn{...}
.我的问题是:以后
有没有办法交叉引用这个等式?
例如,在我的Rd文件中:
\deqn{\label{test}
y = mx + b
}
Run Code Online (Sandbox Code Playgroud)
我以后可以这样做:
参考方程\ ref {test},...
我已经尝试了\eqref{test}
,\ref{test}
(它们都得到了"未知的宏"并且没有得到链接),而且\link{test}
(它抱怨它无法找到功能,test
因为它实际上只是用于链接到其他功能).
否则,我担心我可能做一些哈克,并添加在-- (1)
和Refer to equation (1)
手动的范围内\deqn
的路文件等...
一般答案似乎是"不".(噢...)
但是,我可以写一个小插图并在那里使用"普通"乳胶/包装.无论如何,我刚刚注意到我在roxygen/Rd文件中使用的矩阵方程?myFunction
在帮助版本中看起来很糟糕(它们只显示为文字乳胶源).这是一种耻辱,因为它们在pdf版本的帮助下看起来很漂亮.
@Iterator指出了条件文本的存在,所以我将在.Rd文件中进行ASCII数学运算,但在pdf手册/晕影中进行Latex数学运算.
有没有办法找出引入了哪些版本的R某些功能?例如,regmatches是一个有用的函数,但它是相当新的,我相信它是在2.14中引入的.我怎么能轻易找到R 2.14中引入的regmatches之类的东西?
目前:
path.expand("~")
Run Code Online (Sandbox Code Playgroud)
得到:
"C:\\Users\\trinker\\Documents"
Run Code Online (Sandbox Code Playgroud)
我想让它产生:
"C:\\Users\\trinker"
Run Code Online (Sandbox Code Playgroud)
Windows命令提示符的目录是C:\Users\trinker
.这表明这是我的Windows主目录.
?path.expand
告诉我看看rw-FAQ (LINK).这使得信息高于我的认知能力.我决定尝试如下实验:
> Sys.getenv("R_USER")
[1] "C:\\Users\\trinker\\Documents"
> normalizePath("~")
[1] "C:\\Users\\trinker\\Documents"
> Sys.getenv("R_USER") <- "C:\\Users\\trinker"
Error in Sys.getenv("R_USER") <- "C:\\Users\\trinker" :
target of assignment expands to non-language object
> normalizePath("~") <- "C:\\Users\\trinker"
Error in normalizePath("~") <- "C:\\Users\\trinker" :
target of assignment expands to non-language object
Run Code Online (Sandbox Code Playgroud)
我看见:
Sys.setenv(...)
Sys.unsetenv(x)
Run Code Online (Sandbox Code Playgroud)
但是害怕我弄乱了我不应该盲目搞砸的东西,并决定寻求指导.
所以我想再次~
意味着C:\\Users\\trinker\\
(这是我最后一台PC的默认设置)而不是C:\\Users\\trinker\\Documents
它现在.
如何getwd()
直接从R控制台打开我的文件夹?如果我想看到我最近刚刚在那里导出的东西,这很有用.谷歌搜索没有透露任何内容,我没有能力建立一个功能.