小编Dav*_*d F的帖子

dplyr可以汇总几个变量而不列出每个变量吗?

dplyr非常快,但我想知道我是否遗漏了一些东西:是否有可能总结出几个变量.例如:

library(dplyr)
library(reshape2)

(df=dput(structure(list(sex = structure(c(1L, 1L, 2L, 2L), .Label = c("boy", 
"girl"), class = "factor"), age = c(52L, 58L, 40L, 62L), bmi = c(25L, 
23L, 30L, 26L), chol = c(187L, 220L, 190L, 204L)), .Names = c("sex", 
"age", "bmi", "chol"), row.names = c(NA, -4L), class = "data.frame")))

   sex age bmi chol
1  boy  52  25  187
2  boy  58  23  220
3 girl  40  30  190
4 girl  62  26  204

dg=group_by(df,sex)
Run Code Online (Sandbox Code Playgroud)

使用这个小型数据帧,它很容易编写

summarise(dg,mean(age),mean(bmi),mean(chol))
Run Code Online (Sandbox Code Playgroud)

而且我知道,为了得到我想要的东西,我可以融化,获得手段,然后如dcast

dm=melt(df, id.var='sex')
dmg=group_by(dm, sex, variable); …
Run Code Online (Sandbox Code Playgroud)

r dplyr

73
推荐指数
2
解决办法
4万
查看次数

数据表是否可以为3个或更多数据表执行左连接?

我已经搜索了这个简单问题的答案,但找不到类似的问题.我有3个数据表:

set.seed(0)
demo <- data.table(id = 1:10, demo.var = rnorm(10), key = 'id'); demo
lab <- data.table(id = 1:7, tc = rnorm(7), key = 'id'); lab
anthro <- data.table(id = 4:9, bmi = rnorm(6), key = 'id'); anthro
Run Code Online (Sandbox Code Playgroud)

lab和anthro中的所有ID都在demo data.table中,但lab和anthro在演示中包含不同的ID子集

lab[demo]
anthro[demo]
Run Code Online (Sandbox Code Playgroud)

提供我想要的信息:所有10个ID以及来自实验室或anthro data.table的附加信息,但是有没有以类似的方式将所有3个合并在一起?我尝试了一些排列,例如

anthro[lab][demo]
Run Code Online (Sandbox Code Playgroud)

但是这只保留了实验室数据中的ID的anthro信息.表 - 对于ID 8和9没有人为信息

在此先感谢您的帮助

r outer-join data.table

10
推荐指数
1
解决办法
92
查看次数

data.table和分层的手段

我有一些代码可以产生分层加权手段,我确信这在几个月前就有效了.但是,但我不确定目前的问题是什么.(我道歉 - 这一定是非常基本的东西):

dp=
structure(list(seqn = c(1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 13L, 3L, 4L, 9L, 10L, 11L, 14L, 8L, 11L, 12L, 10L, 
5L, 13L, 2L, 14L, 3L, 9L, 6L, 7L), sex = c(2L, 1L, 2L, 2L, 1L, 
2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L), bmi = c(22.8935608711259, 
27.0944623781918, 40.4637162938634, 23.7649712675423, 15.3193372705538, 
31.1280302540991, 21.4866354393239, 20.3200254374398, 32.331092513536, 
25.3679771839413, …
Run Code Online (Sandbox Code Playgroud)

r data.table

5
推荐指数
1
解决办法
1190
查看次数

标签 统计

r ×3

data.table ×2

dplyr ×1

outer-join ×1