使用R中的自定义函数正确迭代

使用R中的自定义函数正确迭代,r,xml,list,for-loop,R,Xml,List,For Loop,运行importXMLFlat(df0)后,这里是最终数据帧(df1),请注意它仅为1行,因此最终数据表将有4行-列表中的每个元素一行inpt: x 1 SAFETY1007L.xml 2 SAFETY1008L.xml 3 SAFETY10029.xml 4 SAFETY1000V.xml 谢谢你的建议。你真的有很多选择 您可以使用库的magic\u 初始化 magicfor::magic_for(print,progress=T,silent=T)#用print初始化 用于

运行importXMLFlat(
df0
)后,这里是最终数据帧(
df1
),请注意它仅为1行,因此最终数据表将有4行-列表中的每个元素一行
inpt

x
1   SAFETY1007L.xml
2   SAFETY1008L.xml
3   SAFETY10029.xml
4   SAFETY1000V.xml

谢谢你的建议。

你真的有很多选择

  • 您可以使用库的
    magic\u
  • 初始化

    magicfor::magic_for(print,progress=T,silent=T)#用print初始化
    用于(i in 1:长度(输入_文件)){
    df0
    
    x
    1   SAFETY1007L.xml
    2   SAFETY1008L.xml
    3   SAFETY10029.xml
    4   SAFETY1000V.xml
    
    REPORTTIMESTAMP
    AGENCYIDENTIFIER
    AGENCYNAME
    1   2019-06-02T07:08:01.751236  California  Culver City Police Department
    
    magicfor::magic_for(print, progress=T, silent=T) # initialisation with print
    for(i in 1:length(input_files)){
      df0 <- fxml_importXMLFlat(input_files[i])
      df1 <- fxml_toDataFrame(df0, siblings.of=1, elem.or.attr="elem",col.attr = elem.)
      print(df1) # important for magic_for as expressed ininitialisation
    }
    magic_result # or magic_result_as_dataframe() or magic_result_as_vector
    
    df<-data.frame() # global variable
         for(i in 1:length(input_files)){
           df0 <- fxml_importXMLFlat(input_files[i])
           df1 <- fxml_toDataFrame(df0, siblings.of=1, elem.or.attr="elem",col.attr = elem.)
         df<-c(df, df1)
         }
    
    result<-lapply(input_files, fxml_importXMLFlat)  # i used lapply for lists - sapply does the same for data.frames