R 拆分通过web抓取生成的tibble()的内容
我有以下样本数据:R 拆分通过web抓取生成的tibble()的内容,r,dplyr,R,Dplyr,我有以下样本数据: library(tidyverse) df <- structure(list(date = c("3/31/19\n10:00 PM", "3/31/19\n11:30 PM", "4/1/19\n12:00 AM", "4/1/19\n11:00 PM", "4/1/19\n11:08 PM", "4/1/19\n11:08 PM", "4/2/19\n12:00 AM", "4/2/19\n12:30 AM")), .Names = ".", row.names
library(tidyverse)
df <- structure(list(date = c("3/31/19\n10:00 PM", "3/31/19\n11:30 PM", "4/1/19\n12:00 AM", "4/1/19\n11:00 PM", "4/1/19\n11:08 PM", "4/1/19\n11:08 PM", "4/2/19\n12:00 AM", "4/2/19\n12:30 AM")), .Names = ".", row.names = c(NA, -8L), class = c("tbl_df", "tbl", "data.frame"))
到两个单独的列,分别命名为日期
和时间
-
date time
3/31/19 10:00 PM
在
\n
上拆分未产生任何结果。这是因为值是
,而不是简单的字符串吗 将“df”中的单列命名为
,重命名列nam,然后将其分离为两列,其中sep
指定为\n
library(tidyverse)
df %>%
rename(X1 = ".") %>%
# if there are multiple columns, use rename_all
#rename_all(~ paste0("X", seq_along(.))) %>%
separate(X1, into = c("date", "time"), sep="\n")
# A tibble: 8 x 2
# date time
# <chr> <chr>
#1 3/31/19 10:00 PM
#2 3/31/19 11:30 PM
#3 4/1/19 12:00 AM
#4 4/1/19 11:00 PM
#5 4/1/19 11:08 PM
#6 4/1/19 11:08 PM
#7 4/2/19 12:00 AM
#8 4/2/19 12:30 AM
out <- read.csv(text = paste(sub("\n", ",", df[[1]]), collapse="\n"),
header = FALSE, col.names = c("date", "time"))
我试过这个
library(tidyverse)
df <- df %>% separate ('.', c('Date', 'Time'), sep = '\n')
库(tidyverse)
df%单独('.',c('Date','Time'),sep='\n')
它工作得很好。你能分享你尝试过但不起作用的代码吗?不是打字错误-当我刮取数据并转换成tibble()
时,它给了我奇怪的信息enough@papelr好的,您可以在tibble(Col=)
library(tidyverse)
df <- df %>% separate ('.', c('Date', 'Time'), sep = '\n')