разделить строку на столбцы во фрейме данных в r - PullRequest
0 голосов
/ 06 мая 2020

Как я могу разделить этот столбец на части после экспорта?

Мне нужно получить каждое значение в строке, разделенной пробелом, как отдельный столбец.

В настоящее время у меня есть:

V1
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836

И это то, что я хочу:

V1    V2       V3         V4        V5
X    1111    1324.01    1258.00   5154836
X    1111    1324.01    1258.00   5154836
X    1111    1324.01    1258.00   5154836
X    1111    1324.01    1258.00   5154836

Я пробовал:

separate(col = V1, into = c("V2", "V3", "V4", "V5", "V6"), sep = " ")

и:

SPS_X1 <- SPS_X %>% strsplit(SPS_X," ") 

, но они не работали для того, что мне нужно.

PS мой фрейм данных содержит> 5000000 строк

Ответы [ 2 ]

1 голос
/ 06 мая 2020

база на вашей общей ссылке сделала это script

file <- "DD_1.x"

clean_data <- function(string){
  no_blank <- gsub("\\s+"," ", string) # Remove extra blank spaces 
  strsplit(no_blank," ")[[1]] # Split string by spaces, return array
}

l <- readLines(file, n = 200) # Read first 200 lines

data.frame(do.call("rbind",lapply(l,clean_data))) # Makes dataframe

Надеюсь, это поможет вам.

Удалите лишние пробелы в R-проекте

0 голосов
/ 06 мая 2020

Вы можете использовать от read.table до разделить строку на столбцы .

read.table(text=x$V1)
#  V1   V2      V3   V4      V5
#1  X 1111 1324.01 1258 5154836
#2  X 1111 1324.01 1258 5154836
#3  X 1111 1324.01 1258 5154836
#4  X 1111 1324.01 1258 5154836

Данные:

x <- data.frame(V1=c("X 1111 1324.01 1258.00 5154836","X 1111 1324.01 1258.00 5154836"
 ,"X 1111 1324.01 1258.00 5154836","X 1111 1324.01 1258.00 5154836"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...