将数据分成不同的列

时间:2018-03-27 07:08:14

标签: r

我想分开以下数据

{"1": 3.0, "5": 3.0} 

并希望它们分为四个不同的列

1   3.0.  5    3.0

2 个答案:

答案 0 :(得分:0)

以下是一个str_extract选项,仅提取数字元素,然后map_df将其转换为tbl_df

library(tidyverse)
str_extract_all(str1, "[0-9.]+") %>% 
       map_df(~as.numeric(.x) %>%
                t %>%
                as.tibble) 
# A tibble: 1 x 4
#    V1    V2    V3    V4
#  <dbl> <dbl> <dbl> <dbl>
#1  1.00  3.00  5.00  3.00

数据

str1 <- '{"1": 3.0, "5": 3.0}'

答案 1 :(得分:0)

您可以先使用gsub删除所有不必要的字符,然后使用read.table

读入数据
 str1 <- '{"1": 3.01, "5.2": 3.0}'
 read.table(text=gsub("[{},:]"," ",str1))
  V1   V2  V3 V4
1  1 3.01 5.2  3