我在 R 中使用 xml2 包来访问 xml 数据,发现它在不同的 xml_documents 上表现不同。
在这个宠物例子中
library(xml2)
doc <- read_xml( "<MEMBERS>
<CUSTOMER>
<ID>178</ID>
<FIRST.NAME>Alvaro</FIRST.NAME>
<LAST.NAME>Juarez</LAST.NAME>
<ADDRESS>123 Park Ave</ADDRESS>
<ZIP>57701</ZIP>
</CUSTOMER>
<CUSTOMER>
<ID>934</ID>
<FIRST.NAME>Janette</FIRST.NAME>
<LAST.NAME>Johnson</LAST.NAME>
<ADDRESS>456 Candy Ln</ADDRESS>
<ZIP>57701</ZIP>
</CUSTOMER>
</MEMBERS>")
doc
{xml_document}
<MEMBERS>
[1] <CUSTOMER>\n <ID>178</ID>\n <FIRST.NAME>Alvaro</FIRST.NAME>\n <LAST.NAME>Juarez</LAST.NAME>\n <ADDRESS>12 ...
[2] <CUSTOMER>\n <ID>934</ID>\n <FIRST.NAME>Janette</FIRST.NAME>\n <LAST.NAME>Johnson</LAST.NAME>\n <ADDRESS> ...
Run Code Online (Sandbox Code Playgroud)
我可以运行以下代码
xml_find_all(doc, "//FIRST.NAME")
{xml_nodeset (2)}
[1] <FIRST.NAME>Alvaro</FIRST.NAME>
[2] <FIRST.NAME>Janette</FIRST.NAME>
Run Code Online (Sandbox Code Playgroud)
给我预期的输出(找到所有带有“FIRST.NAME”标签的节点)。
但是,如果我对这个xml 文件执行相同的操作:
example <- read_xml(file.path("~/Downloads", "uniprot_subset.xml"))
> example
{xml_document}
<uniprot>
[1] <entry xmlns="http://uniprot.org/uniprot" dataset="Swiss-Prot" created="2011-06-28" modified="2019-01-16" version="35">\n …Run Code Online (Sandbox Code Playgroud) mar我对在plot函数中指定图形参数不起作用这一事实感到困惑。下面将为您提供两个相同的图:
plot(1:10, 10:1, xlab = "x", ylab = "y", mar = c(10, 0, 0, 0))
plot(1:10, 10:1, xlab = "x", ylab = "y", mar = c(0, 0, 0, 0))
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试指定其他图形参数(例如col.lab下面的示例),它会按预期工作。下面给出了具有不同颜色标签的图:
plot(1:10, 10:1, xlab = "x", ylab = "y", col.lab = "red")
plot(1:10, 10:1, xlab = "x", ylab = "y", col.lab = "black")
Run Code Online (Sandbox Code Playgroud)
mar令人困惑的是,在函数外部指定图形参数效果很好,如下所示:
par.default <- par()
par(mar = c(10, 0, 0, 0))
plot(1:10, 10:1, xlab = "x", ylab = "y")
par(par.default)
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个(在我看来)意外的行为?
亲爱的 Stackoverflowers,
我正在寻找一种方法来检查 R 语言中当前文件夹(可以使用 getwd() 获取的文件夹)中的文件权限。我在 Unix 平台上工作,知道我可以使用 file.info() 获得文件权限模式,但我不知道如何检查我属于哪个类别(所有者/组/休息)以及我拥有哪些特定权利.
我的第二个问题是这是否也可以跨平台完成,以便这也适用于其他平台(最重要的是在 Windows 上)。
非常感谢您的帮助!
托马斯