我有一个有两列的数据框,并希望根据第一列的值填充第二列(当前为空)。如果在第一列的任何位置有“_ab”,“_cd”或“_ef”,则分别应在第2列中显示“ab”,“cd”或“ef”。基于模式匹配添加列
这就是它的样子:
c1 c2
s_d_ab ab
a_cd_aa cd
s_sar_ef ef
在Excel中我会抄下配方=IF(FIND("_ab",A1), "ab", "")
,然后隐藏在那里没有匹配的行,并与=IF(FIND("_ab",A1), "ab", "")
覆盖公式。等等。不是最优雅的方法,但它的工作原理。
在R中处理这个问题的最好方法是什么?
我设法得到一个条件适用的逻辑值向量(grepl("_abc", data$c1)
),但不知道如何设置第二列的值。
你能在话你如何挑选你挑选每根弦的这部分解释?为什么不是第三个例子'aa'? – Justin
@Justin,我编辑了我的问题:如果在第一列的任何位置有“_ab”,“_cd”或“_ef”**,则分别为“ab”,“cd”或“ef”第2列。 – jk454