小编Lor*_*ein的帖子

设置数据框中多列的因子级别的顺序

我已经将CSV文件中的数据加载到数据框中.每列代表一个调查问题,所有答案都是五点李克特量表,标签为:("无","低","中","高","非常高").

当我最初读入数据时,R正确地将这些值解释为因子,但不知道排序应该是什么.我想指定值的排序,以便我可以进行一些数值计算.我认为以下代码可行:

X <- read.csv('..')
likerts <- data.frame(apply(X, 2, function(X){factor(X, 
             levels = c("None", "Low", "Medium", "High", "Very High"), 
             ordered = T)}))
Run Code Online (Sandbox Code Playgroud)

相反,所有级别数据都转换为字符串.我该怎么做呢?

r

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

使用Chrome在命令行上运行selenese Selenium测试

我在Firefox中使用Selenium IDE在selenese中记录测试套件,我想使用Chrome在命令行上运行这些测试.(我正在运行Mac OS X).

我显然做错了,因为当我尝试这样做时,它会在Firefox中运行.

我下载了OS X的chromedriver和selenium-server-standalone jar文件,并将它们都放在/ usr/local/bin中.我认为以下命令确实需要,但它在Firefox内部而不是Chrome中运行测试.(注意,我正在测试运行的本地应用程序http://localhost:8001).

$ java -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver \
 -jar /usr/local/bin/selenium-server-standalone-2.24.1.jar \
 -htmlSuite "*chrome" http://localhost:8001 /Users/lorin/selenium/suite.html /Users/lorin//selenium/results.html
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

Jun 19, 2012 4:32:40 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
16:32:45.880 INFO - Java: Apple Inc. 20.8-b03-424
16:32:45.881 INFO - OS: Mac OS X 10.7.4 x86_64
16:32:45.887 INFO - v2.24.1, with Core v2.24.1. Built from revision 17205
16:32:45.972 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
16:32:45.973 INFO - Version Jetty/5.1.x
16:32:45.973 INFO - …
Run Code Online (Sandbox Code Playgroud)

macos selenium command-line google-chrome

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

Sublime Text 2:将Makefile.local识别为Makefile

如何配置Sublime Text 2以便识别名为Makefile.localMakefile的文件,这样我打开此文件时就不必手动执行"Set Syntax:Makefile"了?

sublimetext2

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

"ypcat"和"ypmatch username passwd"在服务器上更改后不同意

我正在尝试在一台机器上使用NIS进行身份验证.我不得不在NIS服务器上更改用户帐户的一个用户ID号(我将用户ID username从500 更改为509以避免与客户端上ID为500的本地用户帐户冲突).问题是它没有在客户端上正确更新.

特别是,如果我这样做ypcat passwd | grep username,我会得到最新的信息:

username:*hidden*:509:509:User Name:/home/username:/bin/bash
Run Code Online (Sandbox Code Playgroud)

但如果我这样做ypmatch username passwd,它说:

username:*hidden*:500:500:User Name:/home/username:/bin/bash
Run Code Online (Sandbox Code Playgroud)

这意味着当用户登录到其中一个客户端时,它具有错误的用户标识,这会导致各种问题.我已经"cd /var/yp; make"在服务器"service ypbind restart"上和客户端上完成了,但这并没有解决问题.有谁知道会导致这种情况以及如何以某种方式强制刷新客户端?(我在客户端和服务器上运行Fedora 8).

linux nis

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

Python的MiniMock可以创建在同一文件中定义的函数的模拟吗?

我正在使用Python MiniMock库进行单元测试.我想模拟在与我的doctest相同的Python文件中定义的函数.MiniMock可以处理吗?天真的方法失败了:

def foo():
    raise ValueError, "Don't call me during testing!"

def bar():
    """
    Returns twice the value of foo()

    >>> from minimock import mock
    >>> mock('foo',returns=5)
    >>> bar()
    Called foo()
    10

    """
    return foo() * 2

if __name__ == "__main__":
    import doctest
    doctest.testmod()
Run Code Online (Sandbox Code Playgroud)

如果我尝试运行此代码,会发生以下情况:

**********************************************************************
File "test.py", line 9, in __main__.bar
Failed example:
    bar()
Exception raised:
    Traceback (most recent call last):
      File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/doctest.py", line 1212, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.bar[2]>", line 1, in <module> …
Run Code Online (Sandbox Code Playgroud)

python mocking

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

R函数将数字(23)转换为英语("二十三")

是否有一个R函数将数值转换为英文表示?它会像这样工作:

> to.words(5)
[1] "five"
> to.words(23)
[1] "twenty-three"
Run Code Online (Sandbox Code Playgroud)

r

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

在子目录中调用django测试

我最近将一个应用程序拆分为子目录.例如,我有一个"商店"应用程序,我把它分成shop/foo,商店/酒吧,商店/ baz子目录,将每一个视为一个单独的应用程序,所以我的INSTALLED_APPS现在看起来像:

"shop",
"shop.foo",
"shop.bar",
"shop.baz",
...
Run Code Online (Sandbox Code Playgroud)

我希望能够通过执行以下操作在shop/foo/tests.py中运行测试:

python manage.py test shop.foo
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,我会收到错误:

ValueError: Test label 'shop.foo' does not refer to a test
Run Code Online (Sandbox Code Playgroud)

另一方面,我可以通过执行以下操作来运行测试:

python manage.py test foo
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况,我可以改变什么,以便我可以将测试作为"shop.foo"而不是"foo"运行?

django

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

使用emmet时,在sublime中重新定义ctrl-d

当我在Sublime Text中安装Emmet包时,它会更改ctrl+ 的定义d.我希望ctrl+ d有默认行为,即删除光标前面的字符.我应该填写什么?

下面我定义Emmet包的用户密钥绑定时?

{ "keys": ["ctrl+d"], "command": "???" },
Run Code Online (Sandbox Code Playgroud)

macos sublimetext2 sublimetext3

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

比较 Ruby 中已处理的 RuntimeError

当我处理 Ruby 异常并将其与我构造的异常对象进行比较时,它的计算结果为 false。为什么会这样呢?

举个具体的例子,为什么会打印这样的内容false

begin
  raise "An error happened"
rescue => e
end

err = RuntimeError.new("An error happened")
puts e == err
Run Code Online (Sandbox Code Playgroud)

ruby exception

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

vim 自动补全目录名

当我在命令行模式下使用文件名自动完成功能时,如何选择当前选项进行自动完成?

例如,假设我想打开文件~/dev/myproject/foo.c

我首先输入:

:e ~/dtab

我按了几次 Tab 直到看到

:e ~/dev/

接下来我该按什么键让 vim 自动补全其中的目录~/dev/

如果我点击enter,vim 将打开一个包含目录列表的缓冲区,这不是我想要的。

我可以先点击/然后按 Tab 键,但随后我的路径中出现了一个无害但不美观的双斜杠:

:e ~/dev//tab

我也可以按“m”,然后按 Tab,这样就可以了:

:e ~/dev/mtab

但是如果我不记得下一个目录以“m”开头怎么办?

我如何在上面的例子中告诉vim“dev”是我想要的自动完成选项,然后继续对路径的下一部分进行自动完成?

vim

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