[英]extracting the vector from a data frame
usedcars[1:4,16]
[[1]]
[1] "Hyundai" "Verna" "1.6" "SX"
[[2]]
[1] "Hyundai" "i10" "Era"
[[3]]
[1] "Volkswagen" "Polo" "Petrol" "Comfort-line" "1.2L"
[[4]]
[1] "Maruti" "Wagon" "R" "LXI"
我怎樣才能只提取品牌
早些時候我有名稱列,我在其中使用了 string_split 並拆分為向量,現在我需要相應地提取嗎?
library(tidyverse)
usedcars <-
list(c("Hyundai", "Verna", "1.6", "SX"),
c("Hyundai", "i10", "Era"),
c("Volkswagen", "Polo", "Petrol",
"Comfortline", "1.2L" ),
c("Maruti", "Wagon", "R", "LXI"))
#as a character vector
#equivalent to c(usedcars[[1]][[1]], usedcars[[2]][[1]], usedcars[[3]][[1]], usedcars[[4]][[1]])
map_chr(usedcars, ~.[[1]])
#> [1] "Hyundai" "Hyundai" "Volkswagen" "Maruti"
#or ouput as a df
map_df(usedcars,~ c(brands = .x[[1]]))
#> # A tibble: 4 x 1
#> brands
#> <chr>
#> 1 Hyundai
#> 2 Hyundai
#> 3 Volkswagen
#> 4 Maruti
#or finally as another list
map(usedcars, ~ `[[`(.x, 1))
#> [[1]]
#> [1] "Hyundai"
#>
#> [[2]]
#> [1] "Hyundai"
#>
#> [[3]]
#> [1] "Volkswagen"
#>
#> [[4]]
#> [1] "Maruti"
由reprex package (v2.0.0) 於 2021 年 6 月 3 日創建
您可以使用lapply
提取每個列表中似乎是品牌的第一個元素:
brand=lapply(usedcars, `[[`, 1)
如果你願意,你可以加入它之后:
unlist(brand)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.