我有类似这样的数据:
dt <- structure(list(fct = structure(c(1L, 2L, 3L, 4L, 3L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 2L, 3L, 4L), .Label = c("a", "b", "c", "d"), class = "factor"), X = c(2L, 4L, 3L, 2L, 5L, 4L, 7L, 2L, 9L, 1L, 4L, 2L, 5L, 4L, 2L)), .Names = c("fct", "X"), class = "data.frame", row.names = c(NA, -15L))
Run Code Online (Sandbox Code Playgroud)
我想根据fct变量中的值从这个数据框中选择行.例如,如果我希望选择包含"a"或"c"的行,我可以这样做:
dt[dt$fct == 'a' | dt$fct == 'c', ]
Run Code Online (Sandbox Code Playgroud)
产量
1 a 2
3 c 3
5 c 5
7 a …Run Code Online (Sandbox Code Playgroud) 我正在努力修改我的情节中的传奇.这是一个可重复的例子:
dtt <- structure(list(model = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("ma", "mb", "mc"), class = "factor"), year = c(2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L), V = c(0.16, 0.14, 0.11, 0.13, 0.15, 0.16, 0.24, 0.17, 0.12, 0.13, 0.15, 0.15, 0.2, 0.16, 0.11, 0.12, 0.12, 0.15), lower = c(0.11, 0.11, 0.07, 0.09, 0.11, 0.12, 0.16, …Run Code Online (Sandbox Code Playgroud) 我有这个ggplot
ggplot(dt.1, aes(x=pctOAC,y=NoP, fill=Age)) +
geom_bar(stat="identity",position=position_dodge()) +
geom_smooth(aes(x=pctOAC,y=NoP, colour=Age), se=F, method="loess",show_guide = FALSE,lwd=0.7) +
theme(legend.position=c(.2,0.8))
Run Code Online (Sandbox Code Playgroud)

dt1 <- structure(list(Age = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("o80", "u80"), class = "factor"), NoP = c(47L, 5L, 33L, 98L, 287L, 543L, 516L, 222L, 67L, 14L, 13L, 30L, 1L, 6L, 17L, 30L, 116L, 390L, 612L, 451L, 146L, 52L), pctOAC = c(0, 10, 20, 30, 40, 50, …Run Code Online (Sandbox Code Playgroud) 我正在使用此代码绘制一些数据系列以及回归线:
ggplot(dt1.melt, aes(x=lower, y=value, group=variable, colour=variable)) +
geom_point(shape=1) +
geom_smooth(method=lm,
se=FALSE)
Run Code Online (Sandbox Code Playgroud)
但是,我需要将回归线限制为通过所有系列的原点 - 与abline(lm(Q75~-1+lower,data=dt1))在标准R图上实现的方式相同.
任何人都可以解释如何做到这一点ggplot?
我有大约100个型号,来自MCMCglmm,它们的输出类似于:
> MC1 <- MCMCglmm(...)
> summary(MC1)
Iterations = 20001:99991
Thinning interval = 10
Sample size = 8000
DIC: 10924.52
G-structure: ~school
post.mean l-95% CI u-95% CI eff.samp
school 0.1753 0.1059 0.2554 1529
R-structure: ~units
post.mean l-95% CI u-95% CI eff.samp
units 1 1 1 0
Location effects: bl ~ +bm1 + bm2 + bm3 + bm4 + bm5 + bm6 + bm7 + bm8
post.mean l-95% CI u-95% CI eff.samp pMCMC
(Intercept) -7.381791 -8.105984 -6.657302 1212 <1e-04 ***
bm1 …Run Code Online (Sandbox Code Playgroud) 我有一个变量是一个因素:
$ year : Factor w/ 8 levels "2003","2004",..: 4 6 4 2 4 1 3 3 7 2 ...
Run Code Online (Sandbox Code Playgroud)
我想创建8个虚拟变量,名为"2003","2004"等取值为0或1取决于变量"year"的值.我能想到的最近的是
dt1 <- cbind (dt1, model.matrix(~dt1$year - 1) )
Run Code Online (Sandbox Code Playgroud)
但这带来了不幸的后果
model.matrix(因此当year变量中存在NA时,由于不同的长度,上述命令失败).当然,我可以用更多的代码解决这些问题,但我喜欢我的代码尽可能简洁(在合理范围内),所以如果有人能提出更好的方法来制作虚拟变量,我将不得不这样做.
我想从一个lmermod对象中提取一些结果
require(lme4)
(fm1 <- lmer(Yield ~ 1|Batch, Dyestuff))
Run Code Online (Sandbox Code Playgroud)
这产生了
Linear mixed model fit by REML ['lmerMod']
Formula: Yield ~ 1 | Batch
Data: Dyestuff
REML criterion at convergence: 319.6543
Random effects:
Groups Name Std.Dev.
Batch (Intercept) 42.00
Residual 49.51
Number of obs: 30, groups: Batch, 6
Fixed Effects:
(Intercept)
1527
Run Code Online (Sandbox Code Playgroud)
特别是,我想提取2个随机效应的标准偏差,即42.00和49.51.我想可能有一个内置的方法来做到这一点,但我找不到它,所以我认为我应该能够通过使用找到它str(fm1),这产生了这个:
Formal class 'lmerMod' [package "lme4"] with 13 slots
..@ resp :Reference class 'lmerResp' [package "lme4"] with 9 fields
.. ..$ Ptr :<externalptr>
.. ..$ mu …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 hadoop 2.6.0,在格式化名称节点时,它在以下几行停止并且没有退出代码返回。
STARTUP_MSG:build = https://git-wip-us.apache.org/repos/asf/hadoop.git -r e3496499ecb8d220fba99dc5ed4c99c8f9e33bb1;'jenkins' 于 2014-11-13T21:10Z 编译 STARTUP_MSG: java = 1.7.0_79
****************************** ******************************/
15/08/28 18:45:22 INFO namenode.NameNode: 注册的 UNIX 信号处理程序[TERM, HUP, INT]
15/08/28 18:45:22 INFO namenode.NameNode: createNameNode [–format]
用法:java NameNode [-backup] |
[-检查点] |
[-format [-clusterid cid] [-force] [-nonInteractive]] |
[-upgrade [-clusterid cid] [-renameReserved] ] |
[-upgradeOnly [-clusterid cid] [-renameReserved] ] |
[-回滚] |
[-rollingUpgrade] |
[-完成] |
[-importCheckpoint] |
[-initializeSharedEdits] |
[-bootstrapStandby] |
[-recover [-force]] |
[-metadataVersion ] ]
15/08/28 18:45:22 INFO namenode.NameNode: SHUTDOWN_MSG:
/*************************** …
对于这个问题,我会很高兴在 R(理想情况下使用 dplyr,但其他方法也可以)或纯 SQL 中的解决方案。
我有由个人 ( ID) 和电子邮件地址组成的数据,以及一个表示电子邮件地址是否是个人主要电子邮件地址 (1) 或不是 (0) 的二进制指示符
IDs 都有一个且只有一个主电子邮件地址IDs 可以有多个非主电子邮件地址(或没有)IDs 可以与主要和非主要的电子邮件地址相同例如:
ID Email Primary
1 1 A 1
2 1 A 0
3 1 B 0
4 2 A 1
5 2 A 0
6 3 C 1
7 4 D 1
8 4 C 0
9 5 E 1
10 5 F 0
Run Code Online (Sandbox Code Playgroud)
(实际数据集大约有一百万行)
我希望识别电子邮件地址不是主要的 ID,但对于不同的 ID 是主要的。也就是说,我想选择以下行:
因此,在上面的数据中,我想选择第 …