r - 有没有办法从列中的最后一个非空白值中提取?
问题描述
我有一张包含操作列表的表格:
name person timestamp open_count
Opened A 2019-07-01 00:00:34 1
Action A 2019-07-01 00:00:34
Action A 2019-07-01 00:00:34
Opened A 2019-07-02 00:00:34 2
Action A 2019-07-01 00:00:34
Action A 2019-07-01 00:00:34
Opened A 2019-07-08 00:00:34 3
Action A 2019-07-01 00:00:34
Action A 2019-07-01 00:00:34
Action A 2019-07-01 00:00:34
Opened A 2019-07-11 00:00:34 4
我想填写open_count
该列中最后一个非空值的值。我的目标是创建一个会话,以便我可以查看用户每次执行打开操作时的操作数。
如何填写最后一个非空值?您可以想象时间戳是按升序排列的。
解决方案
假设空白是""
df1[tail(which(colSums(df1 != "") == nrow(df1)), 1)]
或者如果是NA
df1[tail(which(colSums(!is.na(df1)) == nrow(df1)), 1)]
如果我们需要fill
'open_count'
library(dplyr)
library(tidyr)
df1 %>%
mutate(open_count = na_if(open_count, "")) %>%
fill(open_count)
推荐阅读
- python - 如何从 python 中的名称中获取命名元组实例?
- c - 比较C中的字符元素的问题
- laravel - 从 Laravel 的 WITH Eloquent 中结合 2 个变量用于选择下拉菜单
- elasticsearch - “从 POST 上的不成功 () 低级别调用构建的无效 NEST 响应”
- python - 我定义的函数读取系列的错误值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- html - 如何在 PDF.js 中强制/设置语言环境
- quantum-computing - IBM Quantum 计算机代码一个接一个地运行
- sonarqube - 使用 TSLINT 与 Sonarqube 的区别?
- azure - 打包扩展时排除文件
- xml - 在 XQuery 中返回数据($variable)时在各个输出项之间插入空格