重复具有特定值的行

标签 r dplyr

我想用 df 重复包含 R 中特定值的行如下

df <- data.frame(name1 = c("x","y","z"),
                 name2 = c(0,1,2))
df

  name1 name2
1     x     0
2     y     1
3     z     2
我想要的输出
  name1 name2
1     x     0
2     x     0
3     y     1
4     y     1
5     z     2
我想说只有包含 'x' 和 'y' 的行会重复一次。
到目前为止,我只是想出了使用add_row的想法。并替换 NA值由相应的值。对此使用 tidyverse 的任何建议?

最佳答案

我们可以这样做:

library(dplyr)
df %>% 
  filter(name1=="x" | name1=="y") %>% 
  bind_rows(df) %>% 
  arrange(name1)

  name1 name2
1     x     0
2     x     0
3     y     1
4     y     1
5     z     2

关于重复具有特定值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69599630/

相关文章:

用 R 对矩阵的行 A 元素和列元素进行排序

r - xtable包: Skipping some rows in the output

r - dplyr 内部 mutate 滞后函数的奇怪行为

r - 根据特定值过滤 data.frame 的每一列

r - 使用 Dplyr 添加比例列

r - 让 readline 等待 R 中的输入

r - 将函数应用于数据框中的每一列,观察每列现有的数据类型

r - R中的method_missing等价物

r - 为 R 中的各种 ID 跨多行连接值

R - 条件滞后 - 如何在满足条件之前滞后一定数量的单元格?