当我在调试器中时(来自前面的browser语句),如果我找到了给出错误的代码,R退出调试器.但我想留在它里面.我该如何自动执行此操作(例如,当我在调试器中时,我不想手动记住将选项(错误)重置为某些内容.
我想做以下几点
set.seed(1)
x <- seq(-10, 10, length= 600)
y <- x
f <- function(x, y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }
z <- outer(x, y, f)
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue")
Run Code Online (Sandbox Code Playgroud)
但网格太薄,所以边界占主导地位(你可以确认它确实是边界,而不是通过使用border = NA它的照明.它变成蓝色):

解决的方法之一,当然是使用不那么精细网格的(例如,如果你改变length = 600到length= 50它看起来非常愉快,而且实际上是在例子吗?persp).但我想要与这个精细网格完全相同的形状和光滑.我只是不想绘制所有的边框,例如可能只有1/5(或者我认为我可以自定义的一半).
在Ubuntu 13.10上,我将所有gsettings放在一个文件mygset.sh中.例如,mygset.sh包含许多行,例如
gsettings set com.canonical.Unity.Launcher favorites "['application://nautilus.desktop', 'application://firefox.desktop', 'application://chromium-browser.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']"
Run Code Online (Sandbox Code Playgroud)
我有一个主安装脚本,我必须使用sudo运行(例如,它执行sudo apt-get install).从我要调用的主安装脚本mygset.sh.但是,无论我如何调用它,都不会更改我的用户的设置.我认为它正在改变root的设置.我已经尝试过(从中masterinstall.sh运行sudo ./masterinstall.sh):
sudo -u "wang" ./mygset.sh
sudo -u "wang" bash -c ./mygset.sh
Run Code Online (Sandbox Code Playgroud)
这些都不起作用(它们运行时没有错误并更改设置[我在脚本中用gsetting get检查]但不是用户"wang").
当我从命令行运行mygset.sh(没有sudo :) bash ./mygset.sh.它完美地运作.为什么会有这种差异,我该怎么做才能解决它masterinstall.sh?
有没有办法在Vim中搜索最近使用的文件列表?列表可以使用显示
browse old
Run Code Online (Sandbox Code Playgroud)
但/不起作用.我知道一些插件(例如MRU)但更喜欢不使用插件.
我想将一个数据框输入到粘贴中,我想粘贴它,好像我已经分别输入了该数据帧的列.我想这样做的原因是因为我不确定我的数据帧会有多少列.这里有2个,但我想要一个通用的解决方案来处理任意数量的列.
我想要的输出test1paste在以下代码中.但我不想明确地引用这些列.我的apply尝试可以理解失败,因为它单独作用于列,但我认为它跨越了我正在寻找的解决方案.
> test1 <-
+ structure(c(42.71, 41.69, 46.95, 48.85, 45.26, 44.71, 43.71,
+ 42.69, 47.95, 49.85, 46.26, 45.71), .Dim = c(6L, 2L))
>
> test1paste <- paste(test1[,1],test1[,2], sep = "&")
> test1paste
[1] "42.71&43.71" "41.69&42.69" "46.95&47.95" "48.85&49.85" "45.26&46.26"
[6] "44.71&45.71"
>
> apply(test1,MARGIN=2,paste,sep="&")
[,1] [,2]
[1,] "42.71" "43.71"
[2,] "41.69" "42.69"
[3,] "46.95" "47.95"
[4,] "48.85" "49.85"
[5,] "45.26" "46.26"
[6,] "44.71" "45.71"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢!
假设我想使用lm和factor作为右侧变量运行回归.选择因子中哪个级别为基本类别(排除以避免多重共线性的级别)的最佳方法是什么.请注意,我对排除拦截不感兴趣,因为我有很多因素.
我还想要一个基于公式的解决方案,而不是直接作用于data.frame的解决方案,尽管如果你认为你有一个非常好的解决方案,请发布它.
我的解决方案是:
base_cat <- function(x) c(x,1:(x-1),(x+1):100)
a_reg <- lm(y ~ x1 + x2 + factor(x3, levels=base_cat(30)) #suppose that x3 has draws from the integers 1 to 100.
Run Code Online (Sandbox Code Playgroud)
左边的类别lm是因子中的第一个级别,因此这只是重新排序级别,以便指定的级别是第一个级别base_cat(),然后将其余级别放在后面.
还有其他想法吗?
(背景信息:ifelse评估两个表达式,即使只返回一个.编辑:这是一个不正确的声明.请参阅Tommy的回复)
有没有ifelse在非矢量化情况下使用有意义的例子?我认为,当我们不关心小的效率增益时,"可读性"可能是一个有效的答案,但除此之外,它是否更快/等同/更好地以其他方式使用ifelse当a if然后else会做工作?
同样,如果我有矢量化的情况,ifelse总是最好的工具使用?两个表达式都被评估似乎很奇怪.是否更快地逐个循环并做一个正常if然后else呢?我猜它只有在评估表达式花了很长时间才有意义.还有其他不涉及显式循环的替代方案吗?
谢谢
有没有办法在C++中引用字符串而不必使用反斜杠转义?例如,我想要一种方法将一些Latex代码存储在一个字符串中,例如\documentclass{article}.我可以
string latex_code = "\\documentclass{article}"
Run Code Online (Sandbox Code Playgroud)
但是当你必须逃避很多事情时,这会很烦人,例如,如果你有很多Latex代码.在Perl中,我记得你有一些非常有用的引用工具.例如,请参见"q"和"qq"部分:http://www.perlmonks.org/?node_id = 401006
C++中有类似的东西吗?我能想到的唯一另一件事就是将Latex代码粘贴到外部文件中并将其读入.但这看起来也很烦人.
我有一个大约200,000个IP地址的列表.我想将这些链接到地理位置,并获取IP地址可以提供的任何其他数据.
到目前为止,我发现的最好的是由infochimps提供的服务:http: //www.infochimps.com/datasets/digital-element-ip-intelligence-demographics 还有一个用于infochimps的R包.但是,infochimps要求你支付200,000个IP地址,这可能会变得昂贵.
有没有R包可以做这样的事情?
谢谢
以下输出"> Hut",我希望它输出"Hut".我知道.*贪婪但是必须匹配并且它在捕获组之外,那为什么它在我的子匹配中呢?
#include <string>
#include <regex>
#include <iostream>
using namespace std;
int main() {
regex my_r(".*>(.*)");
string temp(R"~(cols="64">Hut)~");
smatch m;
if (regex_match(temp, m, my_r)) {
cout << m[1] << endl;
}
}
Run Code Online (Sandbox Code Playgroud)