我想用ggplot2(v.9)绘制世界地图,如果有信息,它会合并两个部分.以下示例说明:
library(rgdal)
library(ggplot2)
library(maptools)
# Data from http://thematicmapping.org/downloads/world_borders.php.
# Direct link: http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip
# Unpack and put the files in a dir 'data'
gpclibPermit()
world.map <- readOGR(dsn="data", layer="TM_WORLD_BORDERS_SIMPL-0.3")
world.ggmap <- fortify(world.map, region = "NAME")
n <- length(unique(world.ggmap$id))
df <- data.frame(id = unique(world.ggmap$id),
growth = 4*runif(n),
category = factor(sample(1:5, n, replace=T)))
## noise
df[c(sample(1:100,40)),c("growth", "category")] <- NA
ggplot(df, aes(map_id = id)) +
geom_map(aes(fill = growth, color = category), map =world.ggmap) +
expand_limits(x = world.ggmap$long, y = world.ggmap$lat) +
scale_fill_gradient(low = "red", high …Run Code Online (Sandbox Code Playgroud) 我想在R中进行瓦哈卡分解.我相信,它用于例如劳动经济学来区分解释的方差与不明原因的方差.我无法在R中找到合适的解决方案,而且我不愿意自己创建一个(我可能会搞砸它).
无论如何,这里简要解释了这个过程:
http://en.wikipedia.org/wiki/Ronald_Oaxaca
Stata很幸运,有一个相当不错的包装,但Stata对我来说并不容易.
www.stata.com/meeting/5german/SINNING_stata_presentation.pdf
请注意:我还在R-help上发布了一条消息,但它没有得到回复.我希望也可以在这个列表上发帖.
提前谢谢,Rasmus
编辑:我已经做了以下功能,这似乎产生了错误的答案(urgh).我试图按照上面的Stata链接但它没有按照我的希望:)
oaxaca <- function (fsex,frace1,frace2) {
## First we make regresions
data1 <- subset(l2,sex==fsex & race==frace1)
data2 <- subset(l2,sex==fsex & race==frace2)
mindata1 <- subset(cbind(grade,exp,I(exp^2)),sex==fsex & race==frace1)
mindata2 <- subset(cbind(grade,exp,I(exp^2)),sex==fsex & race==frace2)
reg1 <- lm(log(wage)~grade+exp+I(exp^2), data=data1)
reg2 <- lm(log(wage)~grade+exp+I(exp^2), data=data2)
## DECOMPOSITION
################
## Variables
gap <- mean(log(wage[race==frace1 & sex==fsex]))-mean(log(wage[race==frace2 & sex==fsex]))
mean1 <- colMeans(mindata1)
mean2 <- colMeans(mindata2)
beta1 <- summary(reg1)$coefficients[,1]
beta2 <- summary(reg2)$coefficients[,1]
beta1incep <- summary(reg1)$coefficients[1,1]
beta2incep <- summary(reg2)$coefficients[1,1]
beta1coef <- summary(reg1)$coefficients[c(2,3,4),1]
beta2coef …Run Code Online (Sandbox Code Playgroud) 使用data.tablein R,我试图对除了所选元素之外的子集进行操作.我正在使用by运营商,但我不知道这是否是正确的方法.
这是一个例子.例如对于值Delta在IAH:SNA为(3 + 3)/ 2,其是平均Stops在IAH:SNA一旦Delta已被排除.
library(data.table)
s1 <- "Market Carrier Stops
IAH:SNA Delta 1
IAH:SNA Delta 1
IAH:SNA Southwest 3
IAH:SNA Southwest 3
MSP:CLE Southwest 2
MSP:CLE Southwest 2
MSP:CLE American 2
MSP:CLE JetBlue 1"
d <- data.table(read.table(textConnection(s1), header=TRUE))
setkey(d, Carrier, Market)
f <- function(x, y){
subset(d, !(Carrier %in% x) & Market == y, Stops)[, mean(Stops)]}
d[, s := f(.BY[[1]], …Run Code Online (Sandbox Code Playgroud) 我通常让hl-line采用稍暗的当前背景.这在编辑缓冲区时效果很好.但是,在某些缓冲区中,例如Org议程和Gnus组缓冲区,我想使用更漂亮的颜色(代替光标).
具体而言,我想改变gnus-hl-line 中hl-line的颜色而不影响其他缓冲区中hl-line的颜色.
(add-hook 'gnus-summary-mode-hook 'gnus-hl-line)
(add-hook 'gnus-group-mode-hook 'gnus-hl-line)
(defun gnus-hl-line ()
(hl-line-mode 1)
(set (make-local-variable 'line-move-visual) nil)
(setq cursor-type nil))
Run Code Online (Sandbox Code Playgroud)
谢谢,
使用Phil的建议的最终解决方案.它大部分时间使用中性线,但有时候大胆的线条很明显,例如在Gnus和Org议程中
;; From emacs-wiki:
(defun shade-color (intensity)
"print the #rgb color of the background, dimmed according to intensity"
(interactive "nIntensity of the shade : ")
(apply 'format "#%02x%02x%02x"
(mapcar (lambda (x)
(if (> (lsh x -8) intensity)
(- (lsh x -8) intensity)
0))
(color-values (cdr (assoc 'background-color (frame-parameters)))))))
;; Default hl
(global-hl-line-mode t)
(make-variable-buffer-local 'global-hl-line-mode)
(set-face-background …Run Code Online (Sandbox Code Playgroud)