[英]Re-arranging values in a [1x1] dataframe to [MxN] dataframe in R
當前數據框中的值似乎是-
C1
1000|22345|AMERICA|2021-05-03|12:12:12+2220|03330|AUSTRALIA|2021-04-03|12:00:00
我們如何將其重新排列為-
C1 C2 C3 C4 C5
1000 22345 AMERICA 2021-05-03 12:12:12
2220 03330 AUSTRALIA 2021-04-03 12:00:00
使用 | 分隔列使用 + 分隔行
將+
替換為換行符 ( \n
) 並使用|
讀取數據作為分隔符。
read.table(text = gsub('+', '\n', df$C1, fixed = TRUE), sep = '|')
# V1 V2 V3 V4 V5
#1 1000 22345 AMERICA 2021-05-03 12:12:12
#2 2220 3330 AUSTRALIA 2021-04-03 12:00:00
數據
df <- structure(list(C1 = "1000|22345|AMERICA|2021-05-03|12:12:12+2220|03330|AUSTRALIA|2021-04-03|12:00:00"), class = "data.frame", row.names = c(NA, -1L))
我們可以separate
使用
library(dplyr)
library(tidyr)
library(tidyr)
df %>%
separate_rows(C1, sep="\\+") %>%
separate(C1, into = str_c('C', 1:5), sep="\\|")
# A tibble: 2 x 5
# C1 C2 C3 C4 C5
# <chr> <chr> <chr> <chr> <chr>
#1 1000 22345 AMERICA 2021-05-03 12:12:12
#2 2220 03330 AUSTRALIA 2021-04-03 12:00:00
df <- structure(list(C1 = "1000|22345|AMERICA|2021-05-03|12:12:12+2220|03330|AUSTRALIA|2021-04-03|12:00:00"), class = "data.frame", row.names = c(NA,
-1L))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.