Я стараюсь сделать организованный фрейм данных из строк.
с этим входом
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
Я надеюсь создать фрейм данных, который выглядит как таблица терминов документа, содержащая информацию о последовательности. Тем не менее, я понятия не имею, как это сделать. Это не матрица термина документа и не просто фрейм данных, который можно создать с помощью приведенного ниже кода.
as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))))
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 I do not want to do this thing anymore
2 you do not know what I mean <NA> <NA>
3 I will not do this thing <NA> <NA> <NA>
4 do not want anymore <NA> <NA> <NA> <NA> <NA>
5 you will see <NA> <NA> <NA> <NA> <NA> <NA>
Что я хочу сделать, это
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 <NA> I do <NA> not <NA> <NA> want to do this thing anymore <NA> <NA> <NA>
2 you <NA> do <NA> not <NA> know <NA> <NA> <NA> <NA> <NA> <NA> what I mean
3 <NA> I <NA> will not <NA> <NA> <NA> <NA> do this thing <NA> <NA> <NA> <NA>
4 <NA> <NA> do <NA> not <NA> <NA> want <NA> <NA> <NA> <NA> anymore <NA> <NA> <NA>
5 you <NA> <NA> will <NA> see <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
result = data.frame(V1=c(NA,"you",NA,NA,"you"),
V2=c("I",NA,"I",NA,NA),
V3=c("do","do",NA,"do",NA),
V4=c(NA,NA,"will",NA,"will"),
V5=c("not","not","not","not",NA),
V6=c(NA,NA,NA,NA,"see"),
V7=c(NA,"know",NA,NA,NA),
V8=c("want",NA,NA,"want",NA),
V9=c("to",NA,NA,NA,NA),
V10=c("do",NA,"do",NA,NA),
V11=c("this",NA,"this",NA,NA),
V12=c("thing",NA,"thing",NA,NA),
V13=c("anymore",NA,NA,"anymore",NA),
V14=c(NA,"what",NA,NA,NA),
V15=c(NA,"I",NA,NA,NA),
V16=c(NA,"mean",NA,NA,NA))
чтобы я мог вернуть исходные списки строк, как этот.
origin = do.call(paste, c(result, sep=" "))
origin = gsub('( NA|NA\\s*)','',origin)
origin
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"