リストを「サブセット化」するのが難しいです。例えば、R:リストの機能(選択/サブ設定)
test <- data.frame(x = c("5353-66", "55-110-4000","6524-533", "62410-165", "653-520-2410"))
test$x <- as.character(test$x)
strsplit(test$x, "-")
strsplitは、以下のように私のリストを与える
:
[[1]]
[1] "5353" "66"
[[2]]
[1] "55" "110" "4000"
[[3]]
[1] "6524" "533"
[[4]]
[1] "62410" "165"
[[5]]
[1] "653" "520" "2410"
私はlapply(strsplit(test$x, "-"), "[[", 1)
を実行すると、それは私に以下のようにリストの各コンポーネントからの最初の文字列を与えます:
[[1]]
[1] "5353"
[[2]]
[1] "55"
[[3]]
[1] "6524"
[[4]]
[1] "62410"
[[5]]
[1] "653"
次に、[[1]]と[[2]]全体をどのように選択すればよいですか? [[3]] ...別に?
たとえば、test $ y [1]をc( "5353"、 "66")とし、$ y [2]をc( "55"、 "110"、 "4000"等々。
test$y <- lapply(strsplit(test$x, "-"), "[", 1)
上記の行から同じ結果が得られました。
それは非常に厄介storyingに複数の要素を取得することができますdata.frameのセル。これが本当に必要ですか? 'test $ y <-strsplit(test $ x、" - ")'はリストを割り当てます。 vectorを得るには 'test $ y [[1]]'、 'test $ y [[2]]'などを使います(二重括弧に注意してください)。 – MrFlick