登录

RStudio Server是通过浏览器与服务器交流的IDE,使用网址 http://<server-id>:8787 登陆,登陆使用的是服务器的账号和密码, 要注意的是 RStudio 不允许使用系统用户登陆,即 UID 小于100的用户是无法通过 RStudio登陆的,所以root用户是无法登陆的。

见文:RStudio Server: Getting Started

配置

RStudio 有如下两个配置文件,这两个文件是当用户需要更改配置时自己生成的。

  • /etc/rstudio/rserver.conf
  • /etc/rstudio/rsession.conf

更改配置后可以用如下命令测试配置是否成功:

sudo rstudio-server test-config

配置成功后,需要重启RStudio Server服务来使之生效

sudo rstudio-server restart

几个可能会用到的配置:

rserver.conf
-- 更改RStudio Server的登陆连接端口为8089
www-port=8089
rsession.conf
-- 更改一个Session的超时时长为25分钟(默认这个时间是2个小时, 当用户长达2个小时内没有输入命令后,RStudio会挂起这个session, 将内容保存到硬盘上,在该用户下次登陆时再从硬盘恢复。), 把这个值设置成0就意味不设置超时时间。
session-timeout-minutes=25

见文:RStudio Server: Configuring the Server

操作

对 RStudio Server 的操作都是通过 rstudio-server 这个工具来实现的,默认安装在 /usr/sbin 下。

安装 RStudio 后,它会自动在文件夹/etc/init.d下生成 rsudio-server.conf 文件 来实现 rsudio-server 进程的自动启动。手动操作的命令如下:

	sudo rstudio-server stop
	sudo rstudio-server start
	sudo rstudio-server restart

操作Session的命令如下:

列出当前所有的活跃Session
sudo rstudio-server active-sessions
挂起某个Session
sudo rstudio-server suspend-session
强制挂起某个Session
sudo rstudio-server force-suspend-session
挂起所有Session
sudo rstudio-server suspend-all
强制挂起所有Session
sudo rstudio-server force-suspend-all

当系统需要维护时,可以通过如下命令通知在线用户

sudo rstudio-server offline

重新上线:

sudo rstudio-server online

见文:RStudio Server: Managing the Server

聚集经济(Economies of agglomeration,Wiki

聚集经济是在城市经济学(Urban economics,Wiki)中用来描述当公司聚集在一起时所产生的好处。城市经济学是研究城市区域的经济学,属微观经济学的一个分支。

当业务相关的公司聚集在一起时,它们的生产成本下降明显,因为公司有了更多有竞争力的供应商,更专业的业务,更密集的人力资源,更丰富的顾客资源,这些都是单一公司所无法争取到的资源。

聚集经济也被认为是解释“城市”形成和发展的理论。

聚集经济也会产生负面影响。当聚集到一定程度,会造成拥挤和交通阻塞。

今天用Excel时碰到一个问题就是要求类似于SQL里的这么一个语句的功能:

 SELECT SUM(ISNULL(Column01,Column02)) FROM Table01;

Excel中的数据如下图,目的就是当B列值为空时用A列对应行上的值替换,这样求得前5行数的和,也即下图中红框内数的和。

excel-fun_sumproduct01

这种多条件求和可以用SUMPRODUCT函数。

先来看看SUMPRODUCT的基础语法:

SUMPRODUCT(array1, [array2], [array3], ...)

其中填入的各array维度数必须一致,该函数的结果就是将各array对应下标的数相乘最后求和,即如下:

\sum_{j=1}^n{\prod_{i=1}^k {A_i[j]}}


这是SUMPRODUCT的基础用法,它还可以多条件求和

SUMPRODUCT((条件A1)*(条件A2)*(条件A3)*...*(条件An)*(数据列1),(条件B1)*(条件B2)*(条件B3)*...*(条件Bn)*(数据列2),...)

这样在数据列前加上条件限制就只会选出满足条件的数据来计算,但是要注意,不满足条件的位置会变成0。

上面的公式可以退化成这样:

SUMPRODUCT((条件A1)*(条件A2)*(条件A3)*...*(条件An))

这样就变成了统计满足条件的数据的个数了。

下面这个例子就是统计年龄为11岁的男生的个数:

excel-fun_sumproduct02

最后回到我们原来的问题上来,用下面这个公式就可以搞定了:

SUMPRODUCT((B1:B5="")*(A1:A5))+SUM(B1:B5)

excel-fun_sumproduct03

推荐阅读:用EXCEL的sumproduct函数做条件统计

SUMIF、COUNTIF和SUMPRODUCT函数在统计中的应用