Как можно разбить этот столбец (точки представляют дополнительные значения):
annotation
gene1|allele1|effect1|x1|......
gene2|||x2|......
на несколько разных столбцов:
gene allele effect x . . .
gene1 allele1 effect1 x1 . . .
gene2 NA NA x2 . . .
Я пытался:
list<-strsplit(as.character(df$annotation), '|')
Проблема в том, что он возвращает список с разными размерами, потому что он не считает пустые места между двумя |
. Итак, тогда, когда я делаю:
new_df<-as.data.frame(list)
Это дает мне эту ошибку:
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows
Итак, как sprintf может преобразовать число пустых пробелов между разделителями как NA?