首页 > 解决方案 > 如何在 R 中分别从一个字符中获取我的数字?

问题描述

在此处输入图像描述

newdata <- "1311 1381 1382 1311 1222 1221 2819 2869 2911 2879 5171 5172 6719 1311 1381 1382 2899 2833 2879 2869 2819 1311 1311 1381 1382 2911 5541 6719 2911 2865 2821 2822 2819 5171 5172 5541 1311"

class(newdata)
[1] character

如图所示,我有一个数据集,其中一个数据是newdata,它是一个character.

我想知道如何分别获取字符串中的数字。最终,我想得到一个列表,例如

[1311,1381,1382,1311,1222,1221,....]

标签: r

解决方案


这对您有何帮助:

 library(tidyverse)

newdata <- "1311 1381 1382 1311 1222 1221 2819 2869 2911 2879 5171 5172 6719 1311 1381 1382 2899 2833 2879 2869 2819 1311 1311 1381 1382 2911 5541 6719 2911 2865 2821 2822 2819 5171 5172 5541 1311"

    str_split(newdata, " ") %>% map(., as.numeric)   # for list output
    str_split(newdata, " ") %>% map(., as.numeric) %>% bind_cols() # for df/tibble
    str_split(newdata, " ") %>% map(., as.numeric) %>% bind_cols() %>% .[["V1"]] #for vector

推荐阅读