小编and*_*nka的帖子

bash脚本:以$开头!代替 #!并有神秘的行为.发生了什么?

我不小心开始使用bash脚本$!代替#!并且得到了一些非常奇怪的行为.我想弄清楚发生了什么.

如果您尝试此脚本:

$!/bin/bash
echo Hello world!
Run Code Online (Sandbox Code Playgroud)

你会得到以下行为:

$ chmod +x hello
$ ./hello
[nothing happens, get prompt back]
$ exit
exit
Hello world!
$
Run Code Online (Sandbox Code Playgroud)

所以看起来这件事发生了:

  1. 产生了一个新的bash shell.
  2. 退出时,脚本的其余部分执行.

这是怎么回事?怎么样都发生了?没有#!,shell如何知道bash用于解释脚本?

显然这是"满足我的好奇心",而不是"解决我的问题"问题.谷歌搜索没有产生太大,可能是因为#!$!在查询不使谷歌博特高兴.

bash

7
推荐指数
2
解决办法
2078
查看次数

绘制图表以表示连续分类(R,ggplot2)

这是关于数据可视化表示的最佳实践以及如何在R/ggplot2中绘制绘图的问题.

我试图找到一种方式以图形方式表示这里讲述的故事:

"我们有2000个测试用例,其中500个有错误.经过调查,我们发现400个测试是Big,1600个是Small;只有25个Big测试有错误,所以我们将它们放在一边,留下1600个小测试,其中有475个有错误.然后我们发现400个小测试是顺时针方向,1200个是逆时针方向;只有20个小顺时针测试有错误,所以我们将它们放在一边,留下1200个小逆时针测试,其中455有错误."

换句话说,我使用类别来分隔我的测试用例,并且我想表示每个类别中的错误部分如何随着我的进度而变化.

这里有一些R数据:

tests <- data.frame(n.all=c(2000,400,1600,400,1200),n.err=c(500,25,475,20,455),sep.1=as.factor(c("all","Big","Small","Small","Small")),sep.2=as.factor(c("all","all","all","Clockwise","Counter-Clockwise")))
Run Code Online (Sandbox Code Playgroud)

使用这么少的数据,一个简单的数字表可能是最好的选择; 让我们假设故事仍在继续,越来越多的分离类别被使用,因此简单地列出数字并不是最佳选择.

什么是表示这些数据的好方法?我可以想到几个可能性:

四个可能的情节:馅饼,酒吧,带路径的酒吧,带路径的水平条

  1. 饼图,显示被剥夺的馅饼切片,以及剩余的错误/没有错误的细分
  2. 条形图,类似
  3. 条形图用丝带显示分离类别的"流动",如Minard的拿破仑游行图表
  4. 类似,但条形图显示水平而非垂直的分数

所有四种方法都显示了测试用例的绝对数量减少,以及分离类别中的错误部分以及剩余的部分.我认为我最喜欢#4,但我有一个开放的心态.

应该如何表示这种数据,并且可以使用R/ggplot2这样做?

r data-visualization ggplot2

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

标签 统计

bash ×1

data-visualization ×1

ggplot2 ×1

r ×1