r - 从与另一列中的某些值对应的列中获取值,直到我们在第二列中获得相同的值
问题描述
我知道标题不清楚。但我会举例说明
我有一个包含两列 A 和 B 的数据框“df”。
如果B ==“n”,我想添加新列C,那么它将具有A列相应行的值,直到我们在B列中获得另一个“n”,之后它将具有相应行的值直到下一个“ n"
我需要的数据框是这样的
解决方案
使用 tidyverse 函数,您可以这样做。
library(dplyr)
library(tidyr)
df <- tibble(A = c(2,1,3,4,5,6,1,7,8,9,4),
B = c("n", "", "", "n", "", "", "n", "n", "", "", ""))
df %>%
mutate(C = ifelse(B == "n", A, NA)) %>%
fill(C, .direction = "down")
推荐阅读
- python - 如何在 Power BI 中单击按钮时执行 python 脚本?
- c# - MenuStrip 不允许创建菜单
- jwt - 调用rest api时keycloak注销不会使令牌无效
- php - 我正在尝试从 larvavel 中的数据库中获取消息(有点卡住)
- outlook - 如何根据运行时输入的用户数据以编程方式设置 Outlook 365 会议的主题(标题)
- assembly - Nasm - ld 找不到 printf
- python - 使用 csv 文件作为共现矩阵与neworkx 绘制图形
- or-tools - Google OR-Tools:带时间窗的 VRP - 解决方案不考虑运输时间
- c++ - 在 LLVM [C++] 中将 Int 转换为 APInt
- android - 无法查看 AVD 上的主要活动更改