rのdplyrを使用して特定の位置に空白行を挿入する方法

zhiwei li

データフレームの特定の位置に空白行を挿入したい。

このような私のデータフレーム:

dat <- data.frame(group = c(rep('A', 1),rep('B', 4),rep('C', 2), rep('D', 2)))
  group
1     A
2     B
3     B
4     B
5     B
6     C
7     C
8     D
9     D

私が期待したのは次のようなものです。

dat.wanted <- data.frame(group = c(NA,rep('A', 1),NA,rep('B', 4),NA,rep('C', 2), NA,rep('D', 2)))
   group
1   <NA>
2      A
3   <NA>
4      B
5      B
6      B
7      B
8   <NA>
9      C
10     C
11  <NA>
12     D
13     D

そして私はいくつかのコードを試しました:

# 1  bad codes cause you have to check the row numbers before use add_row() every time
dat.try1 <- dat %>% 
  add_row(.before = 2) %>% 
  add_row(.before = 7) %>% 
  add_row(.before = 10)

# 2 failure
dat.try2 <- dat %>% group_by(group) %>% add_row(.before = 1)

# 3 failure
dat.try3 <- dat %>% group_by(group) %>% mutate(rank = rank(group, ties.method= "first")) %>% ungroup()

dat.try3.2 <- if(dat.try3$rank == 1){dat.try3 <- add_row(dat.try3, .before = 1)}

これを行う簡単な方法はありますか?

どんな助けでも大歓迎です!

akrun

group_splitおよびを使用したオプションmap

library(dplyr)
library(purrr)
dat %>%
    group_split(group) %>% 
    map_dfr(~ .x %>% 
               add_row(group = NA, .before = 1))
# A tibble: 13 x 1
#   group
#   <chr>
# 1 <NA> 
# 2 A    
# 3 <NA> 
# 4 B    
# 5 B    
# 6 B    
# 7 B    
# 8 <NA> 
# 9 C    
#10 C    
#11 <NA> 
#12 D    
#13 D    

またはと data.table

library(data.table)
setDT(dat)[, .(group = c(NA, group)), .(group1 = group)][, group1 := NULL][]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

特定の行の後に空白行を挿入する-VBA

分類Dev

Javaを使用してCSVに空白行を挿入する

分類Dev

プリペアドステートメントを使用して空白行を挿入せずにMySQLに複数の行を挿入する方法

分類Dev

bash / linuxを使用して特定の行の後に空白行を作成する

分類Dev

一意の値ごとに11行の空白行を挿入する方法

分類Dev

すべてのcurrentregionの後に2つの空白行を挿入します

分類Dev

SQLServer-行の後に空白行を挿入する

分類Dev

Javascriptは次の空白行に値を挿入します

分類Dev

Javascriptは次の空白行に値を挿入します

分類Dev

ExcelVBAに空白行を挿入する

分類Dev

検索文字列の下に空白行を挿入し、次の行に文字列を挿入します

分類Dev

sedを使用して特定の行に状態を挿入する

分類Dev

データフレームのすべての行に空白行を挿入する

分類Dev

1つの列の異なる値の間に空白行を挿入する方法

分類Dev

特定の繰り返される行の下ではなく、上に単一の空白行を挿入する方法

分類Dev

sedを含むテキストの前に空白行を挿入します

分類Dev

Mac OS での一致の前後に空白行を挿入する

分類Dev

MySQL:aiはどのようにして特定の数の空白行をテーブルに挿入しますか

分類Dev

パンダは交互の空白行を挿入します

分類Dev

PrototypeJSを使用して特定の位置にtrを挿入します

分類Dev

Javascriptを使用して特定のdivにHTMLを挿入する方法

分類Dev

JSON配列からMySQLに複数の空白行を挿入する

分類Dev

Pythonを使用してCSVの空白行を削除する

分類Dev

Knockout.jsを使用して、ObservableArrayの特定の位置にアイテムを追加/挿入する方法

分類Dev

awkを使用して単一の空白行を二重の空白行に変更します

分類Dev

dplyrを使用して列の値に文字を挿入する方法は?

分類Dev

Vimの現在の行の上または下に空白行を挿入します

分類Dev

特定の行の後に新しいを挿入する方法

分類Dev

VBAは、最大列値に基づいて空白行を挿入します

Related 関連記事

  1. 1

    特定の行の後に空白行を挿入する-VBA

  2. 2

    Javaを使用してCSVに空白行を挿入する

  3. 3

    プリペアドステートメントを使用して空白行を挿入せずにMySQLに複数の行を挿入する方法

  4. 4

    bash / linuxを使用して特定の行の後に空白行を作成する

  5. 5

    一意の値ごとに11行の空白行を挿入する方法

  6. 6

    すべてのcurrentregionの後に2つの空白行を挿入します

  7. 7

    SQLServer-行の後に空白行を挿入する

  8. 8

    Javascriptは次の空白行に値を挿入します

  9. 9

    Javascriptは次の空白行に値を挿入します

  10. 10

    ExcelVBAに空白行を挿入する

  11. 11

    検索文字列の下に空白行を挿入し、次の行に文字列を挿入します

  12. 12

    sedを使用して特定の行に状態を挿入する

  13. 13

    データフレームのすべての行に空白行を挿入する

  14. 14

    1つの列の異なる値の間に空白行を挿入する方法

  15. 15

    特定の繰り返される行の下ではなく、上に単一の空白行を挿入する方法

  16. 16

    sedを含むテキストの前に空白行を挿入します

  17. 17

    Mac OS での一致の前後に空白行を挿入する

  18. 18

    MySQL:aiはどのようにして特定の数の空白行をテーブルに挿入しますか

  19. 19

    パンダは交互の空白行を挿入します

  20. 20

    PrototypeJSを使用して特定の位置にtrを挿入します

  21. 21

    Javascriptを使用して特定のdivにHTMLを挿入する方法

  22. 22

    JSON配列からMySQLに複数の空白行を挿入する

  23. 23

    Pythonを使用してCSVの空白行を削除する

  24. 24

    Knockout.jsを使用して、ObservableArrayの特定の位置にアイテムを追加/挿入する方法

  25. 25

    awkを使用して単一の空白行を二重の空白行に変更します

  26. 26

    dplyrを使用して列の値に文字を挿入する方法は?

  27. 27

    Vimの現在の行の上または下に空白行を挿入します

  28. 28

    特定の行の後に新しいを挿入する方法

  29. 29

    VBAは、最大列値に基づいて空白行を挿入します

ホットタグ

アーカイブ