邪恶的GFW,你就饶了我吧:(

2009-03-31

Excel中Pearson与CorRel的区别

今天无意中发现Excel中除了Pearson,还有CorRel!二者究竟有何区别?Excel的Help含糊不清,没有发现有价值的提示信息。

google了一圈,终于在http://support.microsoft.com/kb/828129/zh-cn发现了权威的答复。

在>=2003版本中,Pearson与CorRel相同
在<2003版本中,Pearson与CorRel不同

在早于2003的Excel版本中,PEARSON可能会出现舍入错误,该缺陷在2003及更高版本的Excel中得到了改进。

CORREL总是通过这种改进的过程来实现。

2009-03-28

简单相关系数并不简单

写这篇文章,源于pinggu.org上cathy_wxh关于“相关系数及其显著性水平”的求助贴,在与xmok77的讨论过程中,我发现自己对此仍有不少概念仍然不够清楚,需要澄清,因此萌发了写此文的念头。好,下面言归正传。

相关系数有很多种,如Pearson积差相关、Spearman等级相关、Kendall等级相关、Kendall和谐系数、Kappa一致性系数……,最常用的当然是Pearson积差相关系数,又称为简单相关系数,但它可不简单喔!

1、r的计算
首先复习一下有关知识:
总体参数协方差σxy=E{[X-E(X)][Y-E(Y)]}
总体参数相关系数ρxy=σxy/[sqrt(σxx)*sqrt(σyy)]
统计量样本协方差sxy=sum[(Xi-x)(Yi-y)]/(n-1)
统计量样本相关系数rxy=sxy/[sqrt(sxx)*sqrt(syy)]
当X、Y都服从正态分布时,ρxy常用rxy进行估计。

2、r的意义
相关关系不代表因果关系。
Pearson相关系数只反映线性相关程度,不反映曲性相关程度。
不少书上都谈到了相关系数的几何意义,但都没有谈透,我自己觉得Pearson相关系数反映了“散点向线段聚集”的程度。当然还有许多其它意义,我还想对此做进一步的探索。

3、r的分布
r究竟符合什么样的分布,我看到的教科书上都没有明确的答案,只是给出了两个检验方法,这在后面还会详细讲解。于是我试图自己推导,但高等数学早就忘得差不多了,实在无法进行。恰在此时,verycd.com上居然发布了Crystal Ball V11!简单的学习后我异想天开,利用Monte Carlo模拟对r的分布进行数值计算!其中遇到了不少困难,但都找到了解决办法,这不是本文的重点,以后我或许会写一篇关于Crystal Ball的介绍。下图是我的工作界面,相信对Crystall Ball熟悉的朋友一下就明白了。

这里简单解释一下大概的流程。
1)、对正态总体X抽样,得到容量为30的样本,将之作为Monte Carlo模拟的假设Assumption。
设定X01~X30共30个相互独立的随机变量,Xi~N(μx、σx^2),这里μx、σx具体是多少并不重要。
2)、对正态总体Y抽样,得到容量为30的样本,将之作为Monte Carlo模拟的假设Assumption。
设定Y01~Y30共30个相互独立的随机变量,Yi~N(μy、σy^2),这里μy、σy具体是多少并不重要。但注意对于每个Yi一定要设定它与Xi的相关系数为ρ。
3)、计算r,将之作为Crystal Ball的预测Forecast。
为了方便,可以同时计算r(n=2)、r(n=3)、……、r(n=30)
4)、Run the Model!

经过反复试验,我发现r的分布应该取决于总体参数ρ和抽样次数n。下图是进行100000次Monte Carlo模拟后,再用ImageMagick拼接后得到的结果:

ImageMagick网上有不少介绍,在此不再赘述,有兴趣的朋友google一下吧。

可惜的是Crystal Ball的绘图功能有限,只能定制X轴,无法定制Y轴,因此需要注意这些子图的X轴范围是一样的,都是-1~+1,但Y轴的范围都不太一样。但这无关大局。

从图中有几个有趣的地方:
1)、当n=2时,无论ρ是多少,r只能取±1,随着ρ由0→1,r取得1的概率逐步增加,取得-1的概率逐步减少。
2)、当ρ=0时:
  当n=3,则r以很大的概率取得接近±1的值,取得0的概率反而很小。
  当n=4,则r取得[-1,+1]之间任何数的概率都相等。
  当n由5→+∞,r取得0的概率逐步增加,r也越来越象正态分布
3)、当n<10时,r的分布距离ρ实在太散,即如果用计算得到的r来估计ρ的话风险太大。>10时,r的分布距离ρ较为集中,即如果用计算得到的r来估计ρ的话风险较小。
5)、在同样的n下,当ρ由0→1,相应的r的分布也会越来越集中。
6)、当ρ=0时,r的分布左右对称;
  当ρ>0时,r的分布左偏;
  当ρ<0时,r的分布右偏。 r="1,因此图中没有画出ρ=" n="400!(我坚决不愿做Pearson的助手:))。计算结果从最乐观的角度看也只是证明r的分布实在离正态分布太远。">3时就可以较好的接近正态分布!(看样子我也做不了Fisher的助手:))。

3、r的检验
从前面可以看出,r似乎不遵从常见的概率分布,其偏离期望值ρ的程度很高,这就很好的解释了为什么教材书上格外强调对r需要进行显著性检验。
回想一下,当用样本平均值、样本方差这些统计量去估计总体均值、总体方差这些总体参数的时候可没有特别强调进行显著性检验。理由很简单:
如果总体X~N(μ、σ^2/n),则样本平均值~N(μ、σ^2/n);
如果总体X~N(μ、σ^2/n),则样本方差有(n-1)s^2/σ^2~χ^2(n);
这些分布的偏差都不是太大,因此常常被忽略,当然严格意义上讲这是不正确的,对于每个估计,都应该进行显著性检验。
那么,如何对其进行检验?

1)、t分布法
有人(我没有查到到底是哪位大牛,希望知道的朋友告诉我)发现当ρ=0时,r/sqrt[(1-r^2)/(n-2)]服从t(n-2)分布。
对此同样利用Crystal Ball进行100000次Monte Carlo模拟,再利用ImageMagick拼接,得到下图:

从直觉看似乎的确符合t的特点。

2)、z法/f法
Fisher发现若令z=ln(sqrt((1+x)/(1-x))),则z(r)~N(z(ρ),1/n-3)。即[z(r)-z(ρ)]/sqrt[1/(n-3)]~N(0,1)。Fisher将之称为z分布,后人为表彰Fisher,将之称为Fisher分布!
对此同样利用Crystal Ball进行100000次Monte Carlo模拟,从直觉看,似乎的确如此。大家对正态图实在太熟悉了,这里就不再贴拼接图了。:)好好,我坦白,其实是我想偷懒还不行嘛。

这里再多说两句,绝大多数教材上都说,对于Pearson相关系数:一般先利用t方法进行“线性相关显著性检验”,如果相关不显著,则不管其相关系数r多大,都认为其不可接受,即认为ρ=0。
我想,应该也可以利用Fisher方法对其进行检验?即利用[z(r)-z(0)]/sqrt[1/(n-3)]~N(0,1),不知是否正确,还请达人对此指正。

2009-03-22

用Excel生成二维函数曲面图

今天看到有人询问如何用Excel生成二维函数曲面图,或者用什么软件生成

用Octave/Matlab、Mathematica、Maple这些数学软件当然可以方便的画出二维概率密度函数图。

用Origin、Sigmlot这些半专业的科学图形软件当然也可以方便的画出二维概率密度函数图。

绝大多数人认为Excel无法生成二维函数曲面图,其实Excel当然也可以,只是繁琐一些,效果差一些而已。

步骤如下,

1、必须有一系列(x, y)向量值

2、将之code到区间上,比如[0.0~0.1)→0,[0.1~0.2)→1……[0.9~1.0)→9

3、利用透视表得到一张二维表格

4、根据这张二维表格,插入“曲面图”

在Excel2007中试验成功,效果可以见下图:



2009-03-18

如何提出Ho真是一门学问

今天上cos.name看到2008年统计学考研真题第四题“食品厂家说:净含量是每袋不低于250g。但有消费者向消协反映不是250g,消协据此要求厂家自检,同时消协也从中随机抽取20袋检验”

(1)如果厂家自己检验,你认为提出什么样的原假设和备则假设?并说明理由。
(2)如果从消费者利益出发,你认为应该提出什么样的原假设和备则假设?并说明理由。

我想:拒绝Ho是不容易的,因为必须p<α。所以厂家基于自己的利益应该提出:
Ho:weight ≥ 250g;
Ha:weight < 250g。
这样的话,即使实际测量得到的Weight<250,如果短斤少两不是很厉害的话,也无法拒绝Ho。

当然,消费者基于自己的利益就应该提出:
Ho:weight < 250g;
Ha:weight ≥ 250g;

但郑冰认为:
假设检验的主要目的是为了拒绝,所以厂家要说明自己的产品合格得拒绝原假设
因此应该提出:
H0:weight < 250g;

谢益辉认为:
1、厂家会说,不拒绝又不表示接受,因此消费者如果提出H0:weight < 250g则力度不够。
2、从是否容易拒绝零假设的角度来看,厂家提出weight ≥ 250g的确占点便宜。

仔细想想应该这样说:
食品厂家对于计量是否准确,心里是有数的。

如果确实不短斤少两,食品厂家则按郑冰的做法,提出以下假设:
Ho:weight = 250g;
Ha:weight > 250g。
这样可以非常有力的消除消费者的怀疑。

如果确实少上一点,食品厂家则按我的做法,提出以下假设:
Ho:weight = 250g;
Ha:weight < 250g。

如果少得比较厉害,食品厂家还是及早承认错误吧。

不知这样解决如何?

MindManager 2008终于可以将.mmap直接转换成.swf文件了

MindManager 2008终于可以将.mmap直接转换成.swf文件了!

搞笑的是,无论是Save As的菜单栏中还是Export的菜单栏都没有直接的选项,必须到了Save As的对话框中,在保存类型中才有.swf文件类型,真让人好笑。真可谓“千户万换始出来,犹抱琵琶半遮面”。

不管如何,终究是一件好事,可惜blogger.com还是不支持上传.swf

2008-12-16

Matlab R2008启动时崩溃的解决方法

前段时间安装了MatLab R2008a和R2008b,在启动时都崩溃,说什么“Application Failed to Initialize Properly (0xc00000005)”,开始以为是系统的问题,重装系统也无济于事,无奈,Google。

哈,原来别人也中招了!

Matlab在启动时试图保护0x50000000到0x70000000的内存,但如果其它程序已经占据了此段内存,错误就不可避免。

有人给出了解决方法:
1、在快捷方式中加“-shield none”参数。
2、不用 "C:\Program Files\Matlab\R2008b\bin\matlab.exe",改用"C:\Program Files\Matlab\R2008b\bin\Win32\matlab.exe"。

写文章时,有查了一遍,发现此问题已经作为官方正式承认的问题,希望在2009a中该问题不再出现。

2008-12-14

R的GUI

据说R是一种优秀的自由统计软件,完全可以取代S-Plus、Statistics、SPSS等软件,更不用提MiniTab、JMR等。

miniWhale尝试了一下,感觉R没有GUI,只有console的方式对于非专业人员有点吃力。网上居然有人还宣称“这显示了R的先进性”,实在让人无语。

Google了R的GUI,发现有许多选择:

1、Rcmdr
R Commander,类似于SPSS等。
安装方法如下:启动R,在Console中输入install.packages("Rcmdr"),然后再输入library(Rcmdr),R会提示还需要安装相关的packages,同意即可。最后的界面如图所示:


2、Tinn-R
非常小巧的R文件编辑器,可以直接将语句或文件发给R。直接看图吧:


3、JGR
Java GUI for R,未深入研究,似乎与原始的R区别不大,只不过把命令区与响应区分成上下两个部分。如下图所示:


4、RWinEdt
喜欢tex的有福了。RWinEdt依赖WinEdt(这是CRAN的非GPL软件喔)。注意WinEdt只是编辑器,MiKTeX、TeX Live才是Tex System。
安装时注意要先安装WinEdt,其界面如下:

然后再install.packages("RWinEdt"),最后再输入library(RWinEdt),则RWinEdt会在WinEdt的基础上生成新的界面如下:


5、Eclipse + StatET
Eclipse还用说吗?没想到居然还有R的插件。

6、RKWard
RKWard是KDE下的图形界面。

7、ESS
Emacs Speaks Statistics,熟悉Emacs的人无疑会喜欢它。

8、pmg
老套路,先install.packages("pmg"),再library(pmg)。注意需要安装gtk。界面如下图所示:


9、SciViews
不知何故,SciViews.org犯了天条,被GWF了。

从简单的个人体验看,Rcmdr、PMG、Tinn-R是较适合的选择。

2008-10-22

终于可以不用无休止的升级Messenger了

偶尔会用messenger,但很反感它的强迫升级,尤其鄙夷它对动态头像、下载图片这样的功能都要收费。

好了,Microsoft推出了webmessenger.msn.com,可以用浏览器使用messenger了,再也不用烦这些事了。

当U盘从4GB变成了16GB

一直喜欢U盘而不是光盘作为启动工具盘,原因很简单:体积小,携带方便(不幸的是遗失也方便,miniWhale已经丢了7、8个了),还不用总是携带外置式光驱,修改方便,copy资料也方便,完全能够“挥棒走天涯”。:)

原来一直使用4GB的Aigo,前几天,花240大洋出手败了个Apacer的16GB钢铁侠,序列号是AP16GAH321R。没有意料到居然由此引发了一系列问题……

在4GB的U盘上,miniWhale用FlashBoot建立了FreeDOS(2个文件,1MB都不到)系统,然后copy了一个Ghost。这样,用这个U盘就可以启动到DOS环境并运行Ghost,完成系统的备份和还原,非常方便。

当miniWhale如法炮制16GB的U盘上时,出现了意想不到的问题:由于DOS只支持FAT 16,而其极限容量为4GB(许多资料称FAT 16的极限容量是2GB,但NT 3.51起就支持4GB)。这样一来,只好放弃DOS。

WIndows支持FAT 32,而据称其极限容量为2TB,而且还有Ghost32可用。miniWhale兴冲冲的运行Bart的PE Builder 3.1.10.a,然后用PE to USB 3.0.0.7将之转移到U盘上。可惜,在16GB的U盘上根本无法启动;在4GB的U盘上可以正常启动,也可以运行Ghost32,但界面实在不行,尤其是所有的中文都成了乱码。

考虑分区吧,令人实在疑惑的是Windows居然无法给U盘分区。使用HP的Format工具,Format功能很好很强大,但也无法分区。使用HP的Drive Key Boot Utility,依然无法奏效。google了一下,发现需要使用ChipGenius察看USB控制芯片信息,再用厂家的量产工具改变。但AP16GAH321R很新,找不到相关信息。找了一个友联的量产工具似乎也不好使。

难道能使用4GB的U盘做启动盘?!天无绝人之路,最后的希望落在了Linux!

下载CloneZilla,将只解压到用FAT32格式化的U盘上,执行其自带的makeboot。然后测试,一切OK!

故事本该到此结束的,但miniWhale想更进一步,干脆在U盘上安装ubuntu,从而释放硬盘空间。

使用ubuntu 8.04.1 LiveCD(惊讶的是wubi居然不支持U盘安装)轻松的把U盘分成两个区!第一个为Ext2安装Ubuntu,第二个为FAT32存放数据。
注意几个要点:
1、ubuntu不支持把FAT32挂载成/,而Ext3是日志文件系统,对U盘读写太频繁,而U盘的读写次数是有极限的,所以用Ext2较好。
2、不要使用SWAP,首先miniWhale小黑的内存有2GB,足够ubuntu使用了;其次减少U盘读写以延长其寿命。
3、在向导的最后一步,有一个高级选项,在那里选择把Grub安装到/dev/sdb即U盘上。否则会自动安装到hd0即硬盘上,这样不符合miniWhale所谓“无侵入”的要求,每次开机都会询问选择哪个系统启动,把相关U盘信息写入了硬盘;更重要的是这样一来,在其它无Grub或无适当配置的机器上就应该无法以此U盘启动(未验证),不符合“挥棒走天涯”的精神。:)

完成安装后,在Windows下居然出现了2个问题:
1、Ubuntu不能启动!Grub提示Error 15。
2、Windows不认U盘!

由于过去一次安装Windows XP的不愉快经历,miniWhale猜想从CD或硬盘启动时,内置硬盘是hd0即/dev/sda,而U盘则是hd1即/dev/sdb,但当从U盘启动时,内置硬盘是hd1即/dev/sdb,而U盘则是hd0即/dev/sda。果然,当miniWhale按“e”进入修改菜单内容,将hd1修改成hd0后,美丽的handy heron轻盈的飞上了桌面。

第2个问题实在令人费解。内事不绝问老婆,外事不绝问Google!特意指定了搜索ubuntu.org.cn,果然,论坛中billBear非常明确:“win对待u盘的方式很古怪,在xp下用系统自带工具是怎么也不肯给u盘分区的;而用其他操作系统分好区的u盘,xp和vista总是只使用其第一个分区,dos(以及据说win 98)倒是可以使用所有分区。”解决方案就这么简单,只需要将FAT32数据分区放在第1,Ext2系统分区放在第2就可以了。

好了,剩下的就应该是安装Clonezilla软件了。

2008-10-19

让Mathematica中的大括号、中括号自动调整

今天miniWhale发现用Mathematica中的Basic Typersetting输入类似方程组前的大括号时,它不会自动延伸到适当大小,以包住所有的行。如下图所示:


而矩阵的()则可以自动延伸到适当大小以包住整个矩阵,如下图所示:


在Word 2007中试验了一下,它的公式编辑器是可以的,如下图所示:


miniWhale翻阅了一下《Tour of Mathematica》,发现用StyleBox[……, SpanMaxSize -> Infinity] // DisplayForm可以解决这个问题。

1、有关Low-Level Notebook Structure的概念
Notebook[ {cell1, cell2, ……}]
Cell[内容, 格式]
RowBox[ {box1, box2, …} ],构建1行
GridBox[ { {box11, box12, …}, {box21, box22, …}, … } ],构建1表
SuperscriptBox、SubscriptBox、SubsuperscriptBox[主体, 下, 上],上下标
OverscriptBox、UnderscriptBox、UnderoverscriptBox[主体, 下, 上],正上下标
FractionBox[分子, 分母],分数
SqrtBox[主体]、RadicalBox[主体, 方],根号

StyleBox[boxes, options],设置选项
StyleBox[boxes, "格式"],设置选项

FrameBox
AdjustmentBox

FormBox
InterpretationBox
TagBox
ErrorBox

由于函数名字已经很好的暗示了其功能,这里不再赘述。

2、StyleBox与自动垂直延伸相关的选项
选项
默认值
备注
SpanMinSizeAutomatic垂直可延字符的最小高度
SpanMaxSizeAutomatic垂直可延字符的最大高度
SpanSymmetricTrue是否对称延伸
SpanLineThicknessAutomatic 是否自动粗细

但是,小括号()永远自动垂直延伸。

4、解决方案
有了上面的知识,可以解释为啥矩阵可以自动被包围,而大括号、中括号却不行。当然,要解决这个问题也很简单,就是用StyleBox[……, SpanMaxSize -> Infinity] // DisplayForm。
下面是一个实例:
StyleBox[RowBox[{ "{",
GridBox[{ {AAA}, {BBB}, {CCC}, {DDD}, {EEE} }]}] ,
SpanMaxSize -> Infinity] // DisplayForm

3、其它
遗憾的是,Word中调好的公式copy到Mathematica中,仍然不能正确显示;同样,Mathematica中调好的公式copy到Word中,也不能正确显示。
前一个问题容易解决,就是在Mathematica中,按Shift+Ctrl+E,相当于ToBoxex,在代码里修改即可。

miniWhale原创

Excel中数组公式的摘要

好久不用数组公式,居然忘记了,赶紧整理一份简单的摘要

1、数组的概念与表达
数组有两种类型:常量数组、区域数组:


常量数组区域数组
1维水平{元素1, 元素2, ……, 元素r}Am:An
1维垂直{元素1; 元素2; ……; 元素r}aN:bN
2维{ ……}
形状必须为矩形,即:
各行的长度必须相同
各列的长度必须相同
am:bn
注意分割符与MatLab相似,逗号分列,分号分行。
元素只能是常量,不能是引用、名称、公式。
同一个数组内的元素常量可以是不同类型的常量,
如:文字、数字、布尔等。
a、b代表列号
m、n代表行号
若r<s<t,则Xr:Xs:Xt≡Xr:Xt
若a<b<C,则aN:bN:cN≡aN:cN

2、数组公式

2.1、概念
将数组就像单个值一样代入公式。

2.2、输入
先选择好结果区域,输入完数组公式,最后用Shift+Ctrl+Enter输入。

2.3、运算
其记法与线性代数不同,与MatLab相似。运算规则如下:

记号:
k是常数;
K是由k组成的m×n数组;
A、B是m×n数组;
┃是m×1数组;
━是1×n数组;
C是由┃沿水平方向重复n次组成的数组;
D是由━沿垂直方向重复m次组成的数组;

则:
A+B、A-B、A*B、A/B相当于Matab里的A.+B、A.-B、A.*B、A./B;
A+k、A-k、A*k、A/k相当于Matab里的A.+K、A.-K、A.*K、A./K;
A+┃、A-┃、A*┃、A/┃相当于Matab里的A.+C、A.-C、A.*C、A./C;
A-━、A-━、A*━、A/━相当于Matab里的A.+D、A.-D、A.*D、A./D;
其他函数与之类似。

注意:
这里的乘法与教科书上的标准的矩阵乘法并不相同。
Excel中用MMult函数实现教科书上的那种标准的矩阵乘法

3、其他
其实,某些常用函数已经使用了数组,如Sum、Max、Min、Index等,但其返回值是单个值,所以除了用Shift+Ctrl+Enter,还可用Enter直接输入。但如果返回值是数组,则必须用Shift+Ctrl+Enter输入。
另外,如果用Ctrl+Enter也可输入,但这是填充!

2008-10-16

Office 2007的几个问题

Office 2007有许多进步,让人高兴,但我对Ribbon GUI非常反感,占地方不说,与原来也不兼容,许多功能很难找到,这就令人讨厌了,比如Print Preview,Paste Special,Pilot Table,Text to Table都放到了很难想到的地方。Microsoft还死不悔改,胡说这是革命性的进展,但最后还在压力下被迫推出了Classic Menu,让用户有机会使用原来的菜单。

再比如Outlook,不就是收发邮件吗,有必要搞得这么复杂吗。使用两天就发现如下问题:

1、居然无法导入.iaf!必须先用Outlook Express导入,再从Outlook Express导入!而且密码还需要重新输入!

2、Outlook 2007无法改变文件存放位置!必须创建一个新的.pst,再把原来的删除!

Microsoft,你究竟是怎么想的?!

2008-10-14

Windows XP安装中出现的问题

在好友crab的推荐下,终于下决心安装Windows XP SP3。

前面一切顺利,在进入第二阶段(XP提示还有39分钟时),居然提示什么ASMS找不到。
认真检查了一下MD5、SHA、刻录软件……,一切OK,就是提示致命错误。

内事不决问老婆,外事不决问google!发现这个问题从2002年的Windows XP起就有人报告,解决方法也不一而足。Microsoft.com上没有相关信息,但有人说,Microsoft曾答复这是由于安装程序与光驱无法通信引起的。

但显然光驱是好的(否则前面第一阶段就无法完成)。没办法,把安装盘的i386目录copy到D盘上,当XP提示找不到文件时,让它到D:\i386下去找(但有1个文件在D:\i386\Lang)。在XP像唐僧一样喋喋不休的重复了二三十次这样的步骤后,All Done。

故事到此应该结束了,但miniWhale始终不甘心,冥思苦想之下,还是怀疑自己的USB外挂式光驱。最终想到:为了方便起见,自己曾经在BIOS里改过引导顺序,把USB HD、USB CD都放到了HD之前。重新将之修改为HD第一、USB CD第二。重新安装,终于,这世界清静了。:)

具体的原因实在是没有精力去细究了,有感兴趣的朋友可以仔细研究一下。

2008-10-12

部分Excel快捷键

有熟悉的,有不熟悉的,不管如何,先发布吧

1、鼠标移动:
Enter 向下移动一格
Shift+Enter 向上移动一格
Tab 向右移动一格
Shift+Tab 向左移动一格


PageUp 上翻一屏
PageDown 下翻一屏
Alt+PageUp 左翻一屏
Alt+PageDown 右翻一屏
Ctrl+PageUp 上翻一Sheet
Ctrl+PageDown 下翻一Sheet


Ctrl+.句号 按顺时针方向移动到选定区域的下一个角


2、选择:
F8 扩展式选定
Shift+F8 将选中的区域添加到被选区域中


Shift+Ctrl+Spacebar 选择活动单元格周围由空白围起的区域,直至整个表
Shift+Ctrl+* 选中活动单元格周围由空白围起的区域


Ctrl+[ 选定当前区域中公式的直接引用单元格
Shift+Ctrl+[ 选定当前区域中公式的引用单元格
Ctrl+] 选定直接引用当前单元格的公式所在单元格
Shift+Ctrl+] 选定引用当前单元格的公式所在的单元格


3、输入
F2 插入点移动到单元格末尾


Ctrl+Enter 选中一个区域,用输入项填充整个区域
Ctrl+D 选中一个区域,用首行向下填充整个区域
Ctrl+R 选中一个区域后,用首列向右填充整个区域
Ctrl+' 复制值上方单元格的公式
Shift+Ctrl+' 复制值上方单元格的值


Alt+↓ 下拉列表,即智能输入
Alt+Enter 软换行
Ctrl+; 插入日期
Ctrl+Delete 删除插入点到行末的文本


Shift+Ctrl++加号 弹出“插入”对话框
Ctrl+- 弹出“删除”对话框


4、名称
F3 弹出“粘贴名称”对话框
Ctrl+F3 弹出名称管理器
Shift+Ctrl+F3 以选择区域的值创建名称


5、公式
Shift+F3 弹出“插入函数”对话框
Ctrl+A 在公式中键入函数名后,显示公式选项板
Shift+Ctrl+A 在公式中键入函数名后,插入变量名和括号


Ctrl+/ 选中当前数组
Shift+Ctrl+ Enter 将公式作为数组公式输入


6、批注
Ctrl+O字母 选定所有带批注的单元格
Shift+F2 插入/编辑批注


7、格式
Ctrl+1 弹出“设置单元格式”对话框
Ctrl+Shift+F 弹出“设置单元格格式”对话框
Ctrl+Shift+P 弹出“设置单元格格式”对话框
Alt+'引号 弹出“样式”对话框


Ctrl+5 应用或取消删除线
Shift+Ctrl+7 应用外边框
Shift+Ctrl+- 删除外边框


8、显示
Ctrl+( 隐藏行
Shift+Ctrl+( 取消隐藏行
Ctrl+) 隐藏列
Shift+Ctrl+) 取消隐藏列


Ctrl+`撇号 切换显示值和公式


9、其他
Ctrl+F2 打印预览
Alt+F8 弹出“宏”对话框:
Alt+F11 打开“Visual Basic”窗口

上网很爽,上网很不爽

上网狠爽,但有时也狠不爽:

1、push广告,想看某个网站,电信非要给你弹出一个页面,说是要赠送极速星空、绿色上网……每次都想骂人。

2、DNS劫持,想看某个网站,电信非要DNS找不到,那也行,可也不该弹出114搜索这种烂网站啊。

3、GFW强制reset,唉,不说了,怕被查。

4、敏感词屏蔽,这有用吗?可全体良民却不得不接受这种强奸式的篡改。

Milgram Experiment(米尔格拉姆实验)与The Wave(浪潮)

学过心理学的人应该都知道米尔格拉姆实验,不知道的可以参考维基百科。

提到这个实验是因为有人推荐德国电影:《浪潮》。这是一部根据1967年美国加州Palo

Alto Cubberley高中发生的真实历史事件改编而成的电影,虽然电影有其固有的夸张表现手

法,但它仍然无疑会引起每个人的思考和联想:校服、军训、标准答案、统一思想、和谐…



“豆瓣”上有人引用电影页面上某人的留言:“我没看出“浪潮”有什么坏处——只要引导

好的话,完全可以往积极方面发展。并不是每个集体都有蒂姆这么极端的人,蒂姆的悲剧大

部分是家庭造成的。在浪潮中,人人平等,互相帮助,力量强大,只要不利用这股力量去做

坏事就可以了。”这不禁让人想到:Ein Volk, Ein Reich, Ein Fuhrer!(德语,意为:一个

国家、一个民族、一个领袖!)

究竟有多少人赞成这句话,由多少人能够看出其中的问题呢?


也许,人类虽然经历了千余年的进化,但几十万年来的生物本能还是让我们如此的迷信于领

袖,迷信集体,而忘记了独立和自由的可贵……

2008-10-09

Portfolio:投资组合

今天才知道Portfolio除了公文包、部长职务之外,居然还有投资组合的意思。

1952,Markowitz发表了“Portfolio Selection”,并凭此获得Nobel Prize。

投资/项目组合管理:首先确定项目机会,然后评估项目关键指标与企业战略目标的一致性,分析成本、收益、风险等,最后获得最优的组合。

项目组合主要包括:Create建立、Select选择、Plan计划、Manage管理。

项目组合管理比较宏观,而项目管理更关注微观,是项目组合管理的一个阶段,是项目组合管理选择结果的具体执行,并受到项目组合管理的监控

大项目可以成为Program,介于Portfolio和Project之间。

分析手段主要有:限制条件分析、敏感度分析、一致性分析等

Microsoft收购了Portfolio,与Project形成互补,它主要包括:设计器、优化器、监控器

miniWhale原创

Excel的条件区域摘要

今天竟然忘了Excel条件区域的用法,惭愧,赶紧看了一下帮助,写了这篇摘要,希望不要再忘记。

Excel条件区域主要如下图所示:



1、条件区域
  • 条件区域的列头不可省,且必须从数据区域的列头中挑选,因为它代表了用数据区域中的哪列与条件进行对比;
  • 数据区域的列头可以被重复选中,用来表示多重条件,如:“介于”这种关系;

2、条件
  • 通常用:="=XX"的形式;
  • 匹配字符串时,可以直接用:XXXX的形式;
    此时还可用通配符,规则如下:?表示任意单个字符,*表示任意数量的字符,~后跟 ?、* 或 ~表示?、*或~;
  • 可以用布尔公式作为条件,但此时:
    条件区域的列头应该为空或与数据区域的所有列头都不同
    被比较的列使用该列第一行对应单元格的相对引用来代表
    所有其他引用必须是绝对引用;
  • 条件组合的规则:
    首先,列于列之间是and;
    然后,行于行之间是or

Excel中,条件区域主要用于高级筛选、规划求解、条件格式等。

miniWhale原创

2008-10-08

Visio中“数据图形”的使用指南

  用Visio多年,今天居然有了一个新发现:“数据图形”。许多朋友应该与miniWhale一样对此感到陌生,在此做一个简单的入门引导,希望大家不吝指正。

1、什么是“数据图形”

  一个简单的“数据图形”如下图所示:

  有人会问:这样简单的事何必如此麻烦,直接用4个标注不就可以了吗?的确如此。但考虑一下如果有几十甚至上百上千个图形呢?难道也一个一个标注吗?

  miniWhale曾经画过一份图纸,有6千多个图形,每个图形需要标注48个信息,分成30多页,而且这份图纸每周都要更新。OopsminiWhale只好用Visio自带的Visual Basic编了一个小程序。如果当时就会用“数据图形”想必就简单多了。

  言归正传,下面请大家记住两个概念:“数据图形”和“形状数据”。可以说,只要把这两个概念搞清楚了,基本上就掌握了“数据图形”这项功能。

  顾名思义:

  • “数据图形”仍然是图形,但同时标注有相关数据信息;
  • “形状数据”就是指每个图形自带的相关数据,就像每个人都有名字、年龄、ID等,每个图形都可以添加多项数据。

  好了,基础知识都讲完了,现在就开始创建我们的第一份“数据图形”吧。


2、创建“形状数据”

  选中对象,点击右键,弹出菜单,选择:【数据】→【形状数据】,如果没有定义形状数据,Visio会给出是否创建的提示;如果已经定义了形状数据,Visio则会显示这些形状数据。无论如何,总可以定义新的形状数据,如下图所示:


  上图是便携机的形状数据,可见,Visio已经预定义了一批形状数据,但仍然可以增加新的形状数据。

  定义完形状数据后,可以认为图形内含了一张如下图所示的表:

  可惜,这张表没有显示出来,下一步的任务就是如何把该表显示出来。


3、创建“数据图形”

  选中对象,点击右键,弹出菜单,选择:【数据】→【编辑数据图形】,弹出对话框:

  上图是miniWhale创建的数据图形,具体步骤不再详述,只是简单介绍一下图看不到的一些重点:

  • 每个新建项目都有一个类型,可以是:文本、数据栏、图标集、按值显示颜色,一共4种。
  • 每个类型下都有具体的标注方式,可以控制外观,位置,是否显示标签、是否显示数值等。

  OK,大功告成!数据图形应该已经显示出来了。如果不满意,多花点功夫美化一下就可以了,应该没有什么难点。


4、如何将数据链接到形状

  考虑一下,每个数据图形都可以表示大量的信息,但这些信息条目需要一个一个的输入到每个图形中,工作量实在太大,有没有什么简便方法呢?当然有!Visio已经考虑到了这一点:

  首先,对应每个图形,创建好状态数据和数据图形,注意:状态数据中必须有1个可以代表图形的关键字段,如图形的名字、ID等等。

  然后,用ExcelAccess等软件准备好一张如下图所示的表:

  再后,选择菜单栏上的:【数据】→【将数据链接到形状】,会弹出一个向导,将该表导入Visio。如下图所示:

  从上图可见,导入了一张有4列的表格。

  最后,选择菜单栏上的:【数据】→【自动链接】。会弹出一个向导,使每个图形都链接到表中的一行数据。

  这个自动链接相当于数据库中的Join概念。对于不熟悉关系数据库理论的朋友而言,可以简单理解如下:

  • 每个图形都有相同的标签,名为“关键字”,当然,具体到每个图形,这个“关键字段”对应的值是不同的,可以是“Key_A”、“ Key_B”、“ Key_C”……。
  • 自动链接时,Visio会根据每个图形的“关键字”对应的具体值,如“Key_A”、“ Key_B”、“ Key_C……在数据表的某列中寻找匹配项,如果找到了匹配项,则该项所在行的信息被链接到该图形中。具体在那个列中寻找,这就要用户通过上述向导来指定。如下图所示:

  自动链接后,则如下图所示:

  这样,即使有大量的图形,也只要对1个图形先设好形状数据以及对应的数据图形,然后利用表格,批量的使每个图形都链接上合适的多个形状数据,从而形成最终的图纸。

5、小结

  个人感觉,“数据图形”这项功能的确有用,但不是非常有用。原因很简单,通常每张图上能够表现的图形个数不能太多,否则让人眼花缭乱,无法看清。这样一来,与其用“数据图形”,不如在图形旁边直接放一个文字框,也可以达到同样的效果,使用起来还更加便捷。

  当然,对于某些公司、部门,需要多次重复性的生成近似的图纸,仅标注有所不同,这时“数据图形”就大有用武之地,可以极大地减轻工作量。


miniWhale原创

2008-10-07

关于“Crystal Xcelsius”的学习笔记

  miniWhale看到了Crystal Xcelsius,不禁为其Stunning、Attractive的特点而打动。
  学习过程中,特意用Mind Manager完成了自己的笔记,一方面记录了自己的心得,方便以后的使用;另一方面也练习Mind Manager。
  可惜,Blog无法上传附件,只好贴一副截图,聊以纪念。