こんにちは親愛なるコミュニティ、
異なる名前の複数のサブリストを含むリストから複数のデータフレームを作成する方法を探しています
したがって、というリストから、サブリストの特定の要素を含む複数のdata.frames(リストにサブリストがある限り)に戻るtier.col
関数を作成したいと思いtier2col
ます。
私はこれを手動で行う方法を取得します:
phones <- data.frame(tier.col$phones$xmin[-1,3], tier.col$phones$xmax[-1,3], tier.col$phones$text[3])
しかし実際には、「電話」は複数の名前で変更されるため、サブリストに対してより一般的なアプローチが必要になります。
x <- data.frame(tier.col$x$xmin[-1,3], tier.col$x$xmax[-1,3], tier.col$x$text[3])
関数はそのように機能します:
tier2col <- function(list.x) {
for all sublist in my list
select tier.col$sublist$xmin[-1,3], tier.col$sublist$xmax[-1,3], tier.col$sublist$text[3]
and compile them in a dataframe
}
私はこれによってすべてのxmin&xmax&textを呼び出すことができることを知っています: lapply(tier.col[c(1:length(names(tier.col)))], "[", 1) lapply(tier.col[c(1:length(names(tier.col)))], "[", 2) lapply(tier.col[c(1:length(names(tier.col)))], "[", 3)
しかし、これをパスする方法や、この種のデータ構造でmapplyを使用する方法がわかりません。
私は何かtier.col$c(names(tier.col)$xmin
働きたいと思っていますが、明らかにそれはそれを行うための適切な方法ではありません。
誰かが私がこれを効率的な方法で計算するのを手伝ってくれる?
の構造tier.col
:
List of 17
$ phones :List of 3
..$ xmin:'data.frame': 2506 obs. of 3 variables:
.. ..$ num.row: num [1:2506] 11 15 19 23 27 31 35 39 43 47 ...
.. ..$ object : chr [1:2506] "xmin" "xmin" "xmin" "xmin" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 20 20 21 22 23 24 26 27 28 29 ...
..$ xmax:'data.frame': 2506 obs. of 3 variables:
.. ..$ num.row: num [1:2506] 12 16 20 24 28 32 36 40 44 48 ...
.. ..$ object : chr [1:2506] "xmax" "xmax" "xmax" "xmax" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 2414 21 22 23 24 26 27 28 29 30 ...
..$ text:'data.frame': 2505 obs. of 3 variables:
.. ..$ num.row: num [1:2505] 17 21 25 29 33 37 41 45 49 53 ...
.. ..$ object : chr [1:2505] "text" "text" "text" "text" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 11 4397 4434 3697 4025 3697 3832 4127 3992 4397 ...
$ syll :List of 3
..$ xmin:'data.frame': 1147 obs. of 3 variables:
.. ..$ num.row: num [1:1147] 10037 10041 10045 10049 10053 ...
.. ..$ object : chr [1:1147] "xmin" "xmin" "xmin" "xmin" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 20 20 21 24 27 30 33 35 37 40 ...
..$ xmax:'data.frame': 1147 obs. of 3 variables:
.. ..$ num.row: num [1:1147] 10038 10042 10046 10050 10054 ...
.. ..$ object : chr [1:1147] "xmax" "xmax" "xmax" "xmax" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 2414 21 24 27 30 33 35 37 40 43 ...
..$ text:'data.frame': 1146 obs. of 3 variables:
.. ..$ num.row: num [1:1146] 10043 10047 10051 10055 10059 ...
.. ..$ object : chr [1:1146] "text" "text" "text" "text" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 11 4431 4028 3879 4430 4442 4405 3783 4159 4327 ...
$ delivery :List of 3
..$ xmin:'data.frame': 1147 obs. of 3 variables:
.. ..$ num.row: num [1:1147] 14627 14631 14635 14639 14643 ...
.. ..$ object : chr [1:1147] "xmin" "xmin" "xmin" "xmin" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 20 20 21 24 27 30 33 35 37 40 ...
..$ xmax:'data.frame': 1147 obs. of 3 variables:
.. ..$ num.row: num [1:1147] 14628 14632 14636 14640 14644 ...
.. ..$ object : chr [1:1147] "xmax" "xmax" "xmax" "xmax" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 2414 21 24 27 30 33 35 37 40 43 ...
..$ text:'data.frame': 1146 obs. of 3 variables:
.. ..$ num.row: num [1:1146] 14633 14637 14641 14645 14649 ...
.. ..$ object : chr [1:1146] "text" "text" "text" "text" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 11 2 2 2 2 2 2 2 2 2 ...
$ link :List of 3
..$ xmin:'data.frame': 807 obs. of 3 variables:
.. ..$ num.row: num [1:807] 19217 19221 19225 19229 19233 ...
.. ..$ object : chr [1:807] "xmin" "xmin" "xmin" "xmin" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 20 20 21 27 30 34 37 40 45 1642 ...
..$ xmax:'data.frame': 807 obs. of 3 variables:
.. ..$ num.row: num [1:807] 19218 19222 19226 19230 19234 ...
.. ..$ object : chr [1:807] "xmax" "xmax" "xmax" "xmax" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 2414 21 27 30 34 37 40 45 1642 1651 ...
..$ text:'data.frame': 806 obs. of 3 variables:
.. ..$ num.row: num [1:806] 19223 19227 19231 19235 19239 ...
.. ..$ object : chr [1:806] "text" "text" "text" "text" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 11 2 2 4025 2 2 2 4025 2 4025 ...
$ words :List of 3
..$ xmin:'data.frame': 807 obs. of 3 variables:
.. ..$ num.row: num [1:807] 22447 22451 22455 22459 22463 ...
.. ..$ object : chr [1:807] "xmin" "xmin" "xmin" "xmin" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 20 20 21 27 30 34 37 40 45 1642 ...
..$ xmax:'data.frame': 807 obs. of 3 variables:
.. ..$ num.row: num [1:807] 22448 22452 22456 22460 22464 ...
.. ..$ object : chr [1:807] "xmax" "xmax" "xmax" "xmax" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 2414 21 27 30 34 37 40 45 1642 1651 ...
..$ text:'data.frame': 806 obs. of 3 variables:
.. ..$ num.row: num [1:806] 22453 22457 22461 22465 22469 ...
.. ..$ object : chr [1:806] "text" "text" "text" "text" ...
.. ..$ value : Factor w/ 4466 levels ""," "," n ",..: 11 4424 3881 4429 3745 3781 4160 4054 3983 4229 ...
何かが明確/欠落していないかどうかを遠慮なく教えてください、
どうもありがとう、
1つのアイテム(phones
)を処理する方法を知っている場合は、それを関数に一般化して、次の方法でリスト全体に実行できるようにしますlapply
。
process.one <- function(x)
data.frame(xmin = x$xmin[-1,3], xmax = x$xmax[-1,3], text = x$text[3])
out <- lapply(tier.col, process.one)
この時点で、out
はdata.framesのリストです。このように保持することをお勧めしますが、本当に必要なのがdata.framesを環境(グローバル環境など)に追加することである場合は、次の方法で追加できますlist2env
。
list2env(out, envir = .GlobalEnv)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加