このデータフレームがあると想像してください
x <- c("a1", "a2", "a3", "a4", "a1", "a2", "a3", "a4")
y <- c("red", "yellow", "blue", "green", "black", "pink", "purple",
"orange")
df <- data.frame(x, y, stringsAsFactors = FALSE)
データフレームをグループ化した後、できればdplyrを使用してy列を抽出する方法を考えることはできません。基本的に、a1、a2、a3、およびa4の色を知り、それらの結果を個別のベクトルとして、理想的にはリストに保存したいと思います。
私はそれをできた
colors.in.a1 <- df %>% filter(x == "a1") %>% pull(y)
a1、a2、a3、a4のそれぞれについてですが、実際のデータでは時間がかかります。おそらく、グループ化変数に基づいて名前が付けられたベクトルのリストを返すpull()
ようtally()
に動作することを期待していましたが、そうではありません。
dplyr
およびを使用する別のソリューションpurrr
:
library(dplyr)
library(purrr)
df %>%
split(.$x) %>%
map(pull, y)
$a1 [1] "red" "black" $a2 [1] "yellow" "pink" $a3 [1] "blue" "purple" $a4 [1] "green" "orange"
データ:
df <- structure(list(x = c("a1", "a2", "a3", "a4", "a1", "a2", "a3",
"a4"), y = c("red", "yellow", "blue", "green", "black", "pink",
"purple", "orange")), class = "data.frame", row.names = c(NA,
-8L))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加