[英]string array to data frame conversion in r
我已經在字符串變量(k)中獲得了此數組,並希望將其轉換為r中的數據幀。 as.array(k)不會對其進行轉換。 做這個的最好方式是什么。 另外,考慮到將來會有嵌套數組要處理。
places = [[\"Abtenau\", \"Abtenau\", 767, 52, 3.0000],[\"Achenkirch\", \"Achenkirch am Achensee\", 248, 61, 6.0000],[\"Adelharz\", \"Adelharz\", 47, 46, 2.0000],[\"Alpbach\", \"Alpbachtal\", 2629, 89, 2.0000]]
一個選項將是jsonlite
轉換為matrix
,然后將其更改為data.frame
並retype
library(jsonlite)
library(hablar)
library(dplyr)
fromJSON(places) %>%
as.data.frame %>%
retype
# A tibble: 4 x 5
# V1 V2 V3 V4 V5
# <chr> <chr> <int> <int> <int>
#1 Abtenau Abtenau 767 52 3
#2 Achenkirch Achenkirch am Achensee 248 61 6
#3 Adelharz Adelharz 47 46 2
#4 Alpbach Alpbachtal 2629 89 2
或者使用正則表達式刪除方括號后,可以使用base R
來完成此操作
read.csv(text = gsub('[][]|"', "", gsub("(?<=\\]),(?=\\[)", "\n",
places, perl = TRUE)), header = FALSE, stringsAsFactors = FALSE)
# V1 V2 V3 V4 V5
#1 Abtenau Abtenau 767 52 3
#2 Achenkirch Achenkirch am Achensee 248 61 6
#3 Adelharz Adelharz 47 46 2
#4 Alpbach Alpbachtal 2629 89 2
places <- "[[\"Abtenau\", \"Abtenau\", 767, 52, 3.0000],[\"Achenkirch\", \"Achenkirch am Achensee\", 248, 61, 6.0000],[\"Adelharz\", \"Adelharz\", 47, 46, 2.0000],[\"Alpbach\", \"Alpbachtal\", 2629, 89, 2.0000]]"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.