strsplit удаляет некоторую часть данных? - PullRequest
1 голос
/ 19 июня 2019

У меня есть фрейм данных с 66366 строками, когда я strsplit один столбец, я получаю фрейм данных с 66347 строками.это некоторая часть моих данных:

id        title
3376971   چوب شور آلبينا شيرين عسل
3376989   ويفر رنگارنگ مينو
3376990   کوکي مينو

, и это код, который я использовал для разделения заголовка:

word_df <- data.frame(df,do.call('rbind',strsplit(as.character(df$title),' ',fixed=TRUE)))

, и я получаю это: (для первой строки)

x1  x2     x3      x4 x5
چوب شور آلبينا شيرين عسل

как я могу разделить его и получить его идентификатор в новом фрейме данных, например, для первой строки:

id        x1  x2     x3      x4 x5
3376971   چوب شور آلبينا شيرين عسل

таким образом, по крайней мере, я буду недооценивать, какой идентификатор удален

1 Ответ

2 голосов
/ 19 июня 2019

Поскольку мы разделяем пробел и количество пробелов не одинаково в каждом элементе 'title', мы можем заполнить элементы split с помощью NA, чтобы сделать длины одинаковыми, а затем выполнить rbind

lst1 <- strsplit(as.character(df$title),' ',fixed=TRUE)
cbind(df['id'], do.call(rbind, lapply(lst1, `length<-`, max(lengths(lst1)))))

Можно также использовать read.table

cbind(df['id'], read.table(text = as.character(df$title),
       header = FALSE, fill = TRUE))
...