相关疑难解决方法(0)

如何选择每组中具有最大值的行

目前我有一个问题如下.在存在每个主题的多个观察的数据集中,我想制作该数据集的子集,其中仅选择记录的最大数据.例如,对于如下数据集:

ID <- c(1,1,1,2,2,2,2,3,3)
Value <- c(2,3,5,2,5,8,17,3,5)
Event <- c(1,1,2,1,2,1,2,2,2)

group <- data.frame(Subject=ID, pt=Value, Event=Event)
Run Code Online (Sandbox Code Playgroud)

对象1,2和3的最大pt值分别为5,17和5.我怎么能首先找到每个主题的最大pt值,然后将这个观察结果放在另一个数据框中?这意味着该子集仅具有每个主题的最大pt值.

r r-faq

63
推荐指数
10
解决办法
6万
查看次数

如何在R中有效地实现合并

背景

几种SQL语言(我主要使用postgreSQL)有一个名为coalesce的函数,它返回每行的第一个非空列元素.当表中包含大量NULL元素时,这可以非常有效地使用.

我在R中的许多场景中都遇到过这种情况,当处理不太结构化的数据时,其中包含很多NA.

我自己做了一个天真的实现,但它的速度非常慢.

coalesce <- function(...) {
  apply(cbind(...), 1, function(x) {
          x[which(!is.na(x))[1]]
        })
}
Run Code Online (Sandbox Code Playgroud)

a <- c(1,  2,  NA, 4, NA)
b <- c(NA, NA, NA, 5, 6)
c <- c(7,  8,  NA, 9, 10)
coalesce(a,b,c)
# [1]  1  2 NA  4  6
Run Code Online (Sandbox Code Playgroud)

coalesce在R中有没有有效的方法?

r coalesce

37
推荐指数
6
解决办法
2万
查看次数

折叠行,其中一些都是NA,其他与一些NA不相交

我有一个简单的数据帧:

ID    Col1    Col2    Col3    Col4
1     NA      NA      NA      NA  
1     5       10      NA      NA
1     NA      NA      15      20
2     NA      NA      NA      NA  
2     25      30      NA      NA
2     NA      NA      35      40 
Run Code Online (Sandbox Code Playgroud)

我想重新格式化它:

ID    Col1    Col2    Col3    Col4
1     5       10      15      20
2     25      30      35      40
Run Code Online (Sandbox Code Playgroud)

(请注意:真实数据集有数千行,而值来自生物数据 - NA除了NAs是不相交的,s之后没有简单的模式,是的,每个行正好有3行ID).

第一步:摆脱只有NA值的行.

从表面上看,这看起来很简单,但我遇到了一些问题.

complete.cases(DF)返回all FALSE,所以我不能真正使用它来删除所有NAs 的行,如DF[complete.cases(DF),].这是因为所有行至少包含一行NA.

由于NAs想要传播自己,其他方案使用is.na …

aggregate r na

11
推荐指数
4
解决办法
3984
查看次数

合并包含NA的数据框中的行以生成完整的行

我知道这是一个重复的Q但我似乎无法再找到这个帖子

使用以下数据

df <- data.frame(A=c(1,1,2,2),B=c(NA,2,NA,4),C=c(3,NA,NA,5),D=c(NA,2,3,NA),E=c(5,NA,NA,4))

  A  B  C  D  E
  1 NA  3 NA  5
  1  2 NA  2 NA
  2 NA NA  3 NA
  2  4  5 NA  4
Run Code Online (Sandbox Code Playgroud)

分组A,我想使用tidyverse解决方案的以下输出

  A  B  C  D  E
  1  2  3  2  5
  2  4  5  3  4
Run Code Online (Sandbox Code Playgroud)

我有很多小组A.我想我看到了一个答案,coalesce但我不确定如何让它发挥作用.我想要一个同样适用characters解决方案.谢谢!

r coalesce tidyverse

10
推荐指数
3
解决办法
2699
查看次数

合并 data.frame 中的两行

类似合并行的一个data.frame合并两行数据框一个,当行是不相交,并包含空值我面临着以下问题针对上述帖子能真正的帮助。

我拥有的数据看起来像这样

| Date     | Checkin | Origin | Checkout | Destination |
| 03-07-17 | 08:00   | A      |          |             |
| 03-07-17 |         | A      | 09:00    | B           |
| 03-07-17 | 17:00   | B      |          |             |
| 03-07-17 |         | B      | 18:00    | A           |
| 04-07-17 | 08:00   | A      |          |             |
| 04-07-17 |         | A      | 09:00    | B           |
| 04-07-17 | 17:00   | B …
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
3万
查看次数

标签 统计

r ×5

coalesce ×2

aggregate ×1

na ×1

r-faq ×1

tidyverse ×1