Divida uma coluna em intervalos regulares em várias linhas

Cavaleiro das Trevas

Eu tenho uma coluna de números em um arquivo csv e quero quebrar a coluna em intervalos regulares e transpô-los em várias linhas. Por exemplo:

Arquivo de entrada fictício:

10
25  
09
04
14
100
01
10
100
04
04
01
04

Saída esperada (quebrando em intervalos regulares de 3):

10 25 09 
04 14 100
01 10 100
04 04 01
04

Estou tentando fazer isso em R usando o forloop, mas não consegui. Não estou obtendo a saída desejada, mas também há mais de 10 milhões de pontos como esses em uma única coluna. Portanto, não tenho certeza se o uso de loop é uma maneira eficiente. Eu pesquisei no Google e vi outras consultas no stackexchange como string dividida em intervalos regulares e como dividir uma string em substrings de um determinado comprimento? . Mas não resolveu meu problema.

No entanto, qualquer ajuda com isso é apreciada.

Shree

Aqui está uma tidyverseforma dinâmica . Deve funcionar para qualquer valor de quebra.

set.seed(1)
df <- data_frame(x = sample(20, 10))

breaks <- 3

df %>% 
  mutate(
    id = rep(paste0("col", 1:breaks), length.out = nrow(.)),
    rn = ave(x, id, FUN = seq_along)
  ) %>% 
  spread(id, x) %>% 
  select(-rn)

# A tibble: 4 x 3
   col1  col2  col3
  <int> <int> <int>
1     6     8    11
2    16     4    14
3    15     9    19
4     1    NA    NA

# another example with breaks at 6
breaks <- 6

df %>% 
  mutate(
    id = rep(paste0("col", 1:breaks), length.out = nrow(.)),
    rn = ave(x, id, FUN = seq_along)
  ) %>% 
  spread(id, x) %>% 
  select(-rn)

# A tibble: 2 x 6
   col1  col2  col3  col4  col5  col6
  <int> <int> <int> <int> <int> <int>
1     6     8    11    16     4    14
2    15     9    19     1    NA    NA

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Divida os valores de uma coluna em várias linhas

Divida a coluna em várias linhas

Divida a coluna em várias linhas no Postgres

Divida a coluna mysql em várias linhas

Divida uma linha em várias linhas

Divida uma coluna em várias linhas com base em vários delimitadores no Postgres

Divida a string em uma única coluna (e várias linhas) em várias colunas no SQL Server (existem dados ausentes)

Divida os dados de texto em uma coluna para várias linhas no Planilhas Google/Excel

Divida a coluna em várias linhas com base no valor pyspark

Divida uma coluna contendo uma lista em várias linhas no Pandas com base em uma condição

Várias linhas em uma única coluna

Transpor várias linhas em uma coluna

Dividindo uma coluna em várias linhas

Postgres, divida uma única linha em várias linhas

SQL Server: divida uma linha em várias linhas (valor)

Divida uma linha em várias linhas no Spark Scala

Divida uma string em várias linhas (SAS)

SQL Server - divida uma linha em várias linhas

Divida uma coluna da lista em várias colunas

Divida uma coluna JSON em várias colunas no Postgres

Divida uma coluna em várias colunas usando Spark SQL

Divida uma coluna em várias colunas no SQL Server

Divida uma coluna de listas em várias colunas no PowerBI

Divida uma coluna JSON em várias colunas no Postgres

Combine linhas com base em intervalos em uma coluna

Divida uma única coluna em linhas separadas por várias colunas de acordo com a string - SQL Server

Colocando várias linhas em uma coluna em R

Divida as células de vários valores em mais de uma coluna em linhas (Refinar aberto)

Divida cada linha em uma coluna cujo valor contenha vírgulas em linhas transpostas