1
特定のデータのリスト形式への変換を探しています。何が欲しいの最良の例のデータを説明する:特定の形式のリストへのデータフレームの内容
library(dplyr)
data <- as.data.frame(cbind(matrix(1:4, 10, 1, byrow=T), matrix(2:6, 10, 1, byrow=T), matrix(2:7, 10, 1, byrow=T))) %>%
dplyr::group_by(V1) %>%
dplyr::arrange(.by_group = TRUE)
data # For emphasis "grouped by" V1
# A tibble: 10 x 3
# Groups: V1 [4]
V1 V2 V3
<int> <int> <int>
1 2 2
1 6 6
1 5 4
2 3 3
2 2 7
2 6 5
3 4 4
3 3 2
4 5 5
4 4 3
目的は、V1が分割(またはグループ)として機能する以下の形式のリスト-variableおよび列V2とV3となる分離サブリストを得ることですV1の:
str(list(list(c(2,6,5),c(2,6,4)), list(c(3,2,6),c(3,7,5)),list(c(4,3),c(4,2)), list(c(5,4),c(5,3))))
List of 4
$ :List of 2
..$ : num [1:3] 2 6 5
..$ : num [1:3] 2 6 4
$ :List of 2
..$ : num [1:3] 3 2 6
..$ : num [1:3] 3 7 5
$ :List of 2
..$ : num [1:2] 4 3
..$ : num [1:2] 4 2
$ :List of 2
..$ : num [1:2] 5 4
..$ : num [1:2] 5 3
あなたが見ることができるように、私はV1で異なる値を持っているように、私はできるだけ多くのリストを取得します。これらのリストのそれぞれにおいて、V1の特定の値に属する列V2およびV3の項目は、別々のリストとして定義される。
今私が探しているのは、私のためにこれを行う特定の「公式」です。私はlapply/mapply/splitのさまざまな組み合わせで私の運を試しましたが、これまでに失敗しました。
あなたの答えをありがとう!しかし、最初の提案は私が探しているものではありません。あなたの提案 'strの違いに注意してください(リスト(リストを(C(2,6,5))、リスト(C(2,6,4))))' と私の所望の形態 'strの(リスト(リスト(c(2,6,5)、c(2,6,4)))) 。 2番目の提案にも同様の問題があります。 – MaHo
@MaHoどちらのメソッドも、あなたの例に基づいて、あなたが示したのと同じ構造(初期のデータに依存する整数であるクラスを除いて)を返します – akrun
ああ、str()を忘れました。どうもありがとうございます! – MaHo