【发布时间】:2018-07-11 18:45:59
【问题描述】:
可能已经有一篇关于此主题的帖子,但我不确定要搜索哪些字词。我正在尝试从具有这种格式的 txt 文件中导入数据(前两行不感兴趣):
FN Clarivate Analytics Web of Science
VR 1.0
PT J
AU Ahituv, Nadav
Zhu, Yiwen
Visel, Axel
Holt, Amy
Afzal, Veena
Pennacchio, Len A.
Rubin, Edward M.
TI Deletion of ultraconserved elements yields viable mice
SO PLOS BIOLOGY
VL 5
IS 9
BP 1906
EP 1911
AR e234
DI 10.1371/journal.pbio.0050234
PD SEP 2007
PY 2007
RI Visel, Axel/A-9398-2009; Ahituv, Nadav/; Pennacchio, Len/
OI Visel, Axel/0000-0002-4130-7784; Ahituv, Nadav/0000-0002-7434-8144;
Pennacchio, Len/0000-0002-8748-3732
SN 1544-9173
UT WOS:000249552300010
PM 17803355
ER
PT J
AU Ahmadiyeh, Nasim
Pomerantz, Mark M.
Grisanzio, Chiara
Herman, Paula
Jia, Li
Almendro, Vanessa
He, Housheng Hansen
Brown, Myles
Liu, X. Shirley
Davis, Matt
Caswell, Jennifer L.
Beckwith, Christine A.
Hills, Adam
MacConaill, Laura
Coetzee, Gerhard A.
Regan, Meredith M.
Freedman, Matthew L.
TI 8q24 prostate, breast, and colon cancer risk loci show tissue-specific
long-range interaction with MYC
SO PROCEEDINGS OF THE NATIONAL ACADEMY OF SCIENCES OF THE UNITED STATES OF
AMERICA
VL 107
IS 21
BP 9742
EP 9746
DI 10.1073/pnas.0910668107
PD MAY 25 2010
PY 2010
RI Davis, Matt/F-9045-2012; He, Housheng/G-9614-2011; he, housheng hansen/; Caswell-Jin, Jennifer/; Brown, Myles/
OI he, housheng hansen/0000-0003-2898-3363; Caswell-Jin,
Jennifer/0000-0002-5711-8355; Brown, Myles/0000-0002-8213-1658
SN 0027-8424
UT WOS:000278054700049
PM 20453196
ER
由于某些类别(例如 AU)有多个对象,我想我需要作为列表导入。类别标签都是 2 个字符后跟一个空格,但有些类别不止一行,后续行没有使用类别标签进行标注。另外,对于一些占用多于一行的类别,比如AU,我希望将数据作为向量导入。对于其他人,例如 TI 或 SO,我想将多行连接到列表中 character 类的一个对象中。
我希望条目看起来像这样:
print(<portion of list that corresponds to AU for first reference>)
[AU]
[[1]] "Ahituv, Nadav" "Zhu, Yiwen" "Visel, Axel" "Holt, Amy" "Afzal, Veena"
[[6]] "Pennacchio, Len A." "Rubin, Edward M."
print(<portion of lilst that corresponds to TI and SO for second reference>)
[TI]
[[1]] "8q24 prostate, breast, and colon cancer risk loci show tissue-specific long-range interaction with MYC"
[SO]
[[1]] "PROCEEDINGS OF THE NATIONAL ACADEMY OF SCIENCES OF THE UNITED STATES OF AMERICA"
我尝试使用scan() 使用以下代码:
scan("savedrecs_spitz refs.txt", what = "character", sep = "\n")
但是,读入的是单个字符向量,其中 txt 的每一行都作为向量中的一个单独对象读入:
[1] "FN Clarivate Analytics Web of Science" "VR 1.0"
[3] "PT J" "AU Ahituv, Nadav"
[5] " Zhu, Yiwen" " Visel, Axel"
我应该使用不同的函数来读取这些数据吗?
【问题讨论】:
-
“我应该使用不同的函数来读取这些数据吗?” 是的,有,
readLines。现在说真的,您需要进行一些处理才能使所有“AU”成为一个向量。另外,我不明白你想对其他人做什么,比如“TI”或“SO”。 -
@Rui Barradas,我添加了一个我想要的输出示例。谢谢。
-
这看起来很像 Medline 格式的引文。应该考虑 Pubmed/Medline 软件包。
-
@42,这些是 Medline 引文。我会谷歌包来阅读它们。有没有你幸运的包裹?谢谢。
-
您可以考虑搜索:
"[r] pubmed"。我有 130 次点击。