在R中: 我有数据帧测试,想要数据帧测试和.基本上获取列的文本,并按组删除NAS

test <- data.frame(
   Group = c("A", "A", "B", "B", "C"),
   Text = c("Apple", NA, "Cherry", NA, "Grape"),
    Text2 = c(NA, "Banana", NA, "Cherry", NA)
    )


testsumm<-data.frame(
  Group = c("A","B","C"),
  Text = c("Apple", "Cherry", "Grape"),
 Text2 = c( "Banana",  "Cherry", NA))

我的实际数据很大(&gt;5000行30列),所以我需要一个自动解决方案.谢谢!

推荐答案

aggregate人的把戏

> aggregate(. ~ Group, test, na.omit, na.action = na.pass)
  Group   Text  Text2
1     A  Apple Banana
2     B Cherry Cherry
3     C  Grape

或者,如果您想保留NA而不是空字符串"",可以try

aggregate(
    . ~ Group,
    test, 
    \(x) ifelse(all(is.na(x)), NA, na.omit(x)),
    na.action = na.pass
)

这给了我们

  Group   Text  Text2
1     A  Apple Banana
2     B Cherry Cherry
3     C  Grape   <NA>

R相关问答推荐

为什么t使用ifelse()基于两个DF中的匹配观察创建新列不适用于此数据?

修改dDeliverr中列表列的最后一个元素

Select R中列未排序的收件箱中的最后一个按顺序编号的列

使用lares::corr_var函数在for循环中分配变量的问题

R:如何自动化变量创建过程,其中我需要基于ifelse()为现有变量的每个级别创建一个单独的变量

如何在ggplot 2线性图的每个方面显示每个组的误差条?

使用R中的Shapetime裁剪格栅文件

过滤器数据.基于两列的帧行和R中的外部向量

在不安装软件包的情况下测试更新

制作等距离的线串副本

使用across,starts_with和ifelse语句变更多个变量

为了网络分析目的,将数据框转换为长格式列联表

R:从geom_ol()中删除轮廓并导出为pdf

Ggplot2中geom_tile的动态zoom

R -在先前group_by级别汇总时获取最大大小子组的计数

观察器中的inaliateLater的位置

有没有办法一次粘贴所有列

解析嵌套程度极高的地理数据

有毒元素与表观遗传年龄的回归模型

R:使用ApexCharge更改标签在饼图中的位置