如何将单个字符串分成R中表中的列

问题描述 投票:-1回答:2

在R中,我有一个表,每行包含一个字符串:

输入

input <- c("05/20/20 14:00 adam", "02/12/19 13:24 eric")

(这些是单个字符串)

如何将字符串分成多列为此

Date       Time   Name
"05/20/20" 14:00 "adam"
"02/12/19" 13:24 "eric"
r
2个回答
0
投票

您可以在separate包内使用tidyverse。只需用数据中的实际列名替换nameColumn(不带引号)。

library(tidyverse)
df %>%
  #Split character column into 3 columns, separating by blank space
  separate(col = nameColumn,
           into = c("Date","Time","Name"),
           sep = " ")

0
投票

tidyr::separate()为此工作:

创建数据示例:

input <- data.frame(
  a = c("05/20/20 14:00 adam",
        "02/12/19 13:24 eric"),
  stringsAsFactors = FALSE
)

分别介绍三列:

library(tidyr)
separate(input,
         a,
         into = c("date", "time", "name"),
         sep = " ")

这适用于您给出的示例。如果您的数据包含不规则性,则可以使用separate()的其他参数(即Extra和Fill)来定义如何处理这些问题。

© www.soinside.com 2019 - 2024. All rights reserved.