Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于标题将文本转换为data.frame_R_String_Parsing - Fatal编程技术网

基于标题将文本转换为data.frame

基于标题将文本转换为data.frame,r,string,parsing,R,String,Parsing,我上传了一个.txt文件到R中,如下所示:Election\u Parties如果您的分隔符始终为“”,那么一旦您将文本放入向量中;将其用作标界符,并进行cumsum以将其分为多个组 TXT = readr::read_lines("Election_Parties.txt") #we add a separator for your first country TXT = c("",TXT) idx <- cumsum(TXT=="") # use idx <- cumsum(!g

我上传了一个
.txt
文件到
R
中,如下所示:
Election\u Parties如果您的分隔符始终为“”,那么一旦您将文本放入向量中;将其用作标界符,并进行cumsum以将其分为多个组

TXT = readr::read_lines("Election_Parties.txt")
#we add a separator for your first country
TXT = c("",TXT)
idx <- cumsum(TXT=="")
# use idx <- cumsum(!grepl("^[A-Z]",TXT)) if weird newline

非常感谢你的回答。有没有办法把这个答案和这个答案结合起来:?我想尽可能地把问题分开,但现在我看不到一种方法来组合答案。@WiktorStribiżew回答了你的问题吗?我刚看到他的回答……差不多了,但我还没有完全明白。@StupidWold我问了一个新问题:
Bolivia     P1-Nationalist Revolutionary Movement-Free Bolivia Movement (Movimiento Nacionalista 
Bolivia     P19-Liberty and Justice (Libertad y Justicia [LJ])
Bolivia     P20-Tupak Katari Revolutionary Movement (Movimiento Revolucionario Tupak Katari [MRTK])
Colombia    P1-Democratic Aliance M-19 (Alianza Democratica M-19 [AD-M19])
Colombia    P2-National Popular Alliance (Alianza Nacional Popular [ANAPO])
Colombia    P3-Indigenous Authorities of Colombia (Autoridades Indígenas de Colombia)
TXT = readr::read_lines("Election_Parties.txt")
#we add a separator for your first country
TXT = c("",TXT)
idx <- cumsum(TXT=="")
# use idx <- cumsum(!grepl("^[A-Z]",TXT)) if weird newline
tibble::tibble(TXT,idx)
# A tibble: 10 x 2
   TXT                                                                       idx
   <chr>                                                                   <int>
 1 ""                                                                          1
 2 BOLIVIA                                                                     1
 3 "P17-Nationalist Revolutionary Movement-Free Bolivia Movement (Movimie…     1
 4 P19-Liberty and Justice (Libertad y Justicia [LJ])                          1
 5 P20-Tupak Katari Revolutionary Movement (Movimiento Revolucionario Tup…     1
 6 ""                                                                          2
 7 COLOMBIA                                                                    2
 8 P1-Democratic Aliance M-19 (Alianza Democratica M-19 [AD-M19])              2
 9 P2-National Popular Alliance (Alianza Nacional Popular [ANAPO])             2
10 P3-Indigenous Authorities of Colombia (Autoridades Indígenas de Colomb…     2
func = function(x){
  data.frame(Country=x[2],Parties=x[3:length(x)])
}
do.call(rbind,by(TXT,idx,func))