如何根据某些分隔符拆分字符串?
给定一个字符串Topic1,Topic2,Topic3,我想基于,生成来分割字符串:
Topic1 Topic2 Topic3
Run Code Online (Sandbox Code Playgroud) 关于这个问题,我需要在Windows平台上安装R中的Sxslt包.我使用RStudio从源代码编译包,但遇到了错误.它返回了一条关于定义LIB_XSLT的消息.请参阅下面的日志:
> install.packages("Sxslt", repos = "http://www.omegahat.org/R", type="source")
Installing package(s) into ‘local/R/win-library/2.15’
(as ‘lib’ is unspecified)
trying URL 'www.omegahat.org/R/src/contrib/Sxslt_0.91-1.tar.gz'
Content type 'application/x-gzip' length 112790 bytes (110 Kb)
opened URL
downloaded 110 Kb
* installing *source* package 'Sxslt' ...
Please define LIB_XSLT
ERROR: configuration failed for package 'Sxslt'
* removing 'local/R/win-library/2.15/Sxslt'
Warning in install.packages :
running command 'local/bin/i386/R CMD INSTALL -l "local/R/win-library/2.15" local/downloaded_packages/Sxslt_0.91-1.tar.gz'
had status 1
Warning in install.packages :
installation of package ‘Sxslt’ had non-zero exit status …Run Code Online (Sandbox Code Playgroud) 请考虑以下XML示例
library(xml2)
myxml <- read_xml('
<data>
<obs ID="a">
<name> John </name>
<hobby> tennis </hobby>
<hobby> golf </hobby>
<skill> python </skill>
</obs>
<obs ID="b">
<name> Robert </name>
<skill> R </skill>
</obs>
</data>
')
Run Code Online (Sandbox Code Playgroud)
在这里,我想从这个XML中获取一个(R或Pandas)数据框,其中包含列name和hobby.
但是,如您所见,存在对齐问题,因为hobby第二个节点中缺少对齐问题,John有两个爱好.
在R中,我知道如何一次提取一个特定值,例如使用xml2如下:
myxml%>%
xml_find_all("//name") %>%
xml_text()
myxml%>%
xml_find_all("//hobby") %>%
xml_text()
Run Code Online (Sandbox Code Playgroud)
但是如何在数据框中正确对齐此数据?也就是说,我如何获得如下的数据帧(注意我如何加入|John的两个爱好):
# A tibble: 2 × 3
name hobby skill
<chr> <chr> <chr>
1 John tennis|golf python
2 Robert <NA> R
Run Code Online (Sandbox Code Playgroud)
在R中,我更喜欢使用xml2和的解决方案dplyr …