列の複数の値に基づいてデータフレームに新しい行を作成します

MH

質問をもう少し具体的に調整しました

私は自分の質問に対する具体的な答えを探しましたが、成功しませんでした。

まず第一に、私は、何かが、この好きに見える48個の変数からなるデータフレームを、持っています:

> df

    Text                                               Screen_Name   ...  
1   a text where @Sam and @Su and @Jim are addressed   Peter
2   a text where @Eric is addressed                    Margret
3   a text where @Sarah and @Adam are addressed        John

現在、( "@ \ S +")に等しいすべての文字列を抽出し、それらを新しい列に格納しています

df$addressees <- str_extract_all(df$text, "@\\S+")

これは、私を取得します。

    ...   Screen_Name   Addressees               ...  
1         Peter         c("@Sam", "@Su", "@Jim")
2         Margret       @Eric
3         John          c("@Sarah", "@Adam")

次に、列「Screen_Name」のそれぞれの値を繰り返すことによって、各「宛先」の新しい行が作成される2つの列の新しいデータフレームを作成します。

> df

    Screen_Name  Addressees
 1  Peter        Sam
 2  Peter        Su
 3  Peter        Jim
 4  Margret      Eric
 5  John         Sarah
 6  John         Adam

私は同様のアプローチの解決策を試しましたが、どれもうまくいかないようです。

手伝ってくれてありがとうございます!

InspectorSands

OK、再現性の例で:

# create df
ego <- c("peter","margaret","john")
friends <- list(c("sam","su","jim"),c("eric"),c("sarah","adam"))
df <- data.frame(ego,friends= I(friends),stringsAsFactors = F)

# use repeat function to repeat rows
times <- sapply(df$friends,length)
df <- df[rep(seq_len(nrow(df)), times),]
# assign back unlisted friends
df$friends <- unlist(friends)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

複数の列の値に基づいて新しいデータフレーム列を作成します

分類Dev

前の複数の行/列の値に基づいてデータフレームの行を削除します

分類Dev

複数の列の値に基づいてデータフレームに新しい列を追加する

分類Dev

列の値に基づいて複数のパンダデータフレームを作成します

分類Dev

Rの条件に基づいて、データフレームに複数の新しい列を追加します

分類Dev

特定の値の行に基づいて新しいデータフレームを作成します

分類Dev

行の最初の値に基づいて、データフレームに新しい列を追加します

分類Dev

Pandasデータフレーム-複数の条件計算に基づいて複数の列を作成します

分類Dev

他の列の行のファイラー値に基づいて、pandasデータフレームに新しい列を作成します

分類Dev

複数の列としきい値に基づいてデータフレームをマージします

分類Dev

複数の列と行の基準に基づいてRデータフレームを展開します

分類Dev

データフレームの各行について、Rの開始から終了までの数値に基づいて複数の行を作成します

分類Dev

別の列の進行値に基づいてデータフレーム列を作成しますか?

分類Dev

既存の列の条件に基づいて、データフレームに新しい列を作成します

分類Dev

データフレーム内の行を反復処理して新しい列を作成し、新しい列に基づいて列を追加します

分類Dev

複数の列間の接続に基づいて、データフレームの行を削除します

分類Dev

既存の変数に基づいてデータフレームに新しい変数を作成します

分類Dev

他の2つのデータフレームの値に基づいて新しい列を作成する

分類Dev

データフレーム内の既存の時間列に基づいて新しい列を作成します

分類Dev

pandasデータフレームの他の列に基づいて新しい列を作成します

分類Dev

pandas-複数の行の値に基づいて、合計された列データの行をデータフレームに追加します

分類Dev

Daskデータフレーム-区切り文字に基づいて列を複数の行に分割します

分類Dev

リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

分類Dev

複数の列に基づいてRのデータフレーム行を結合します

分類Dev

複数の条件に基づいてPandasデータフレーム列を作成します

分類Dev

データフレーム列の文字列値とセルの値を比較して、複数値ディクショナリに基づいて新しいデータフレームを作成するにはどうすればよいですか?

分類Dev

複数のデータフレームからの操作に基づいてRに新しい列を作成する方法はありますか?

分類Dev

複数の条件に基づいてパンダデータフレームに新しい列を作成します

分類Dev

別のデータフレームの値に基づいて、複数の列を作成してループを設定します

Related 関連記事

  1. 1

    複数の列の値に基づいて新しいデータフレーム列を作成します

  2. 2

    前の複数の行/列の値に基づいてデータフレームの行を削除します

  3. 3

    複数の列の値に基づいてデータフレームに新しい列を追加する

  4. 4

    列の値に基づいて複数のパンダデータフレームを作成します

  5. 5

    Rの条件に基づいて、データフレームに複数の新しい列を追加します

  6. 6

    特定の値の行に基づいて新しいデータフレームを作成します

  7. 7

    行の最初の値に基づいて、データフレームに新しい列を追加します

  8. 8

    Pandasデータフレーム-複数の条件計算に基づいて複数の列を作成します

  9. 9

    他の列の行のファイラー値に基づいて、pandasデータフレームに新しい列を作成します

  10. 10

    複数の列としきい値に基づいてデータフレームをマージします

  11. 11

    複数の列と行の基準に基づいてRデータフレームを展開します

  12. 12

    データフレームの各行について、Rの開始から終了までの数値に基づいて複数の行を作成します

  13. 13

    別の列の進行値に基づいてデータフレーム列を作成しますか?

  14. 14

    既存の列の条件に基づいて、データフレームに新しい列を作成します

  15. 15

    データフレーム内の行を反復処理して新しい列を作成し、新しい列に基づいて列を追加します

  16. 16

    複数の列間の接続に基づいて、データフレームの行を削除します

  17. 17

    既存の変数に基づいてデータフレームに新しい変数を作成します

  18. 18

    他の2つのデータフレームの値に基づいて新しい列を作成する

  19. 19

    データフレーム内の既存の時間列に基づいて新しい列を作成します

  20. 20

    pandasデータフレームの他の列に基づいて新しい列を作成します

  21. 21

    pandas-複数の行の値に基づいて、合計された列データの行をデータフレームに追加します

  22. 22

    Daskデータフレーム-区切り文字に基づいて列を複数の行に分割します

  23. 23

    リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

  24. 24

    複数の列に基づいてRのデータフレーム行を結合します

  25. 25

    複数の条件に基づいてPandasデータフレーム列を作成します

  26. 26

    データフレーム列の文字列値とセルの値を比較して、複数値ディクショナリに基づいて新しいデータフレームを作成するにはどうすればよいですか?

  27. 27

    複数のデータフレームからの操作に基づいてRに新しい列を作成する方法はありますか?

  28. 28

    複数の条件に基づいてパンダデータフレームに新しい列を作成します

  29. 29

    別のデータフレームの値に基づいて、複数の列を作成してループを設定します

ホットタグ

アーカイブ