【发布时间】:2018-03-22 16:11:47
【问题描述】:
我有这些栏目:
text.NANA text.22 text.32
1 Female RNDM_MXN95.tif No NA
12 Male RNDM_QOS38.tif No NA
13 Female RNDM_WQW90.tif No NA
14 Male RNDM_BKD94.tif No NA
15 Male RNDM_LGD67.tif No NA
16 Female RNDM_AFP45.tif No NA
我想创建一个只有以RNDM_ 开头并以.tif 结尾的条形码的列,但不包括.tif。棘手的部分是摆脱也在同一列中的性别信息。性别信息和RNDM_之间有随机数量的空格:
text.NANA text.22 text.32 BARCODE
1 Female RNDM_MXN95.tif No NA RNDM_MXN95
12 Male RNDM_QOS38.tif No NA RNDM_QOS38
13 Female RNDM_WQW90.tif No NA RNDM_WQW90
14 Male RNDM_BKD94.tif No NA RNDM_BKD94
15 Male RNDM_LGD67.tif No NA RNDM_LGD67
16 Female RNDM_AFP45.tif No NA RNDM_AFP45
我做了一个非常糟糕的尝试,但没有成功:
dfrm$BARCODE <- regexpr("RNDM_", dfrm$text.NANA)
# [1] 8 6 9 7 7 8 9 9 8 8 9 9 6 6 7 8 9 8
# attr(,"match.length")
# [1] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
# attr(,"useBytes")
# [1] TRUE
请帮忙。谢谢!
【问题讨论】:
-
所以你想从 text.NANA 列中删除“.tif”还是更复杂?如果没有,使用
substr()可能会更容易 -
sub("^(RNDM.*)\\..*$", "\\1", dfrm$text.NANA). -
女性/男性信息也包含在同一列中,其间的空格数因行而异。有时是 1 个空格,有时是 2 个
-
@RuiBarradas,这让我
"Female RNDM_MXN95.tif" "Male RNDM_QOS38.tif" "Female RNDM_WQW90.tif"等