小编sam*_*sam的帖子

删除某些因子级别的图例条目

是否可以删除与某些因子水平相对应的图例元素?

在我的示例中,我希望删除灰色因子级别(1-5)的图例条目,并且仅保持级别"最佳","建议"和"最差".

我已经尝试了很多黑客,但是他们中的大多数已经删除了条形图的灰色(每组25个)或者只留下了我用红色,黄色和绿色着色的条形图.

# ggplot2
barplot <- ggplot(training_results.barplot, mapping=aes(x=name, fill=factor(a))) # filling based on a column ##mapping=aes(x=name, fill=factor(a))
barplot <- barplot + geom_histogram(stat = "identity", aes(name,wer)) ##colour="black"
barplot <- barplot + scale_fill_manual(values=c("#555555", "#777777", "#555555", "#777777", "#555555", color.best, color.suggested, color.worst), labels=c(NA,NA,NA,NA,NA,"Best","Suggested","Worst")) # 6th = best; 7th = suggested; 8th = worst
barplot <- barplot + everyNthLabel(training_results$name,5) # only show every 5th label on x-axis
barplot <- barplot + theme_minimal()
barplot <- barplot + theme(axis.text.x = element_text(angle = 90, hjust = 1, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

重复写入STDIN并读取子进程的STDOUT而不关闭它

我试图在Python中使用Subprocess来保持外部脚本以类似Server的方式打开.外部脚本首先加载模型.完成后,它通过STDIN接受请求并将处理后的字符串返回给STDOUT.

到目前为止,我已经尝试过了

tokenizer = subprocess.Popen([tokenizer_path, '-l', lang_prefix], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

但是,我不能用

tokenizer.stdin.write(input_string+'\n')
out = self._tokenizer.stdout.readline()
Run Code Online (Sandbox Code Playgroud)

为了通过子进程重复处理input_strings - 无论是否使用stdout.read()或者out都将为空stdout.readline().但是,当我tokenizer.stdin.close()在读取STDOUT之前关闭stdin时它会工作,但这会关闭子进程,这不是我想要的,因为我必须在发送另一个请求之前重新加载整个外部脚本.

有没有办法在python中以类似服务器的方式使用子进程而不关闭并重新打开它?

python

9
推荐指数
1
解决办法
3461
查看次数

*初始化后更改defaultdict*的默认返回值

有没有办法在创建后更改defaultdict的default_factory(在调用不存在的键时返回的值)?

例如,当一个defaultdict如

d = defaultdict(lambda:1)
Run Code Online (Sandbox Code Playgroud)

创建时,d只要d['absent']调用不存在的键,就会返回1 .初始定义之后,如何将此默认值更改为其他值(例如,2)?

python collections defaultdict

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

Python:使用给定的参数集调用对象的所有方法

我想用一组给定的参数调用python对象实例的所有方法,即对于像这样的对象

class Test():
    def a(input):
        print "a: " + input
    def b(input):
        print "b: " + input
    def c(input):
        print "c: " + input
Run Code Online (Sandbox Code Playgroud)

我想写一个允许我运行的动态方法

myMethod('test')
Run Code Online (Sandbox Code Playgroud)

导致

a: test
b: test
c: test
Run Code Online (Sandbox Code Playgroud)

通过遍历所有test() - 方法.在此先感谢您的帮助!

python design-patterns

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

RDFLib:XML序列化中的命名空间前缀

在使用RDFLib 3.0的Python脚本中,在序列化三元组时,我得到以下XML-Output:

<rdf:RDF
  xmlns:_3="http://www.my-example.intra/ontologies/ci.owl#"
>
Run Code Online (Sandbox Code Playgroud)

如何为RDFLib(或者分别是XML-Serializer)自动分配的匿名_x-前缀定义特定的名称空间前缀?

<rdf:RDF
  xmlns:ex="http://www.my-example.intra/ontologies/ci.owl#"
>
Run Code Online (Sandbox Code Playgroud)

非常感谢您的回复!

python namespaces rdflib

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

更新R data.frame中的单个值(而不是行)

我想根据一个简单的标准更新var3R data.frame中的值mydata.

   var1  var2  var3
1  1     4     5
2  3     58    800
3  8     232   8 
Run Code Online (Sandbox Code Playgroud)

我认为以下应该做:

mydata$var3[mydata$var3 > 500,] <- NA
Run Code Online (Sandbox Code Playgroud)

但是,这会将每个匹配记录的整行替换为NA(行的所有单元格),而不仅仅是var3值(单元格):

   var1  var2  var3
1  1     4     5
2  NA    NA    NA
3  8     232   8 
Run Code Online (Sandbox Code Playgroud)

如何确保仅替换所选变量的值?mydata应该看起来像

   var1  var2  var3
1  1     4     5
2  3     58    NA
3  8     232   8 
Run Code Online (Sandbox Code Playgroud)

r dataframe

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