【发布时间】:2020-11-12 13:52:12
【问题描述】:
我有一个包含 20 列的数据框。其中一列由字符串组成。我想分析 R 中特定字母位置的字符串,然后在不同的列中基于此分配一个值。例如,如果字符串是 ABCDEF、AADFEG,我想创建一个包含值的新列,如果 A 在位置 1,则为 1。如果 A 在位置 1,2,则为 1,2。 7 如果 G 位于第 6 位。我一直在尝试使用 str_locate 和 if_else,然后使用 dplyr 包进行变异,但不确定是否有更简单的方法可以做到这一点。 谢谢!
【问题讨论】:
-
那么你不应该有 26+1=27 列,1 列代表字符串,其他 26 列代表 26 个字母吗?
-
字符串“AACCCG”的输出是什么——A在位置1和2,G在位置6。结果应该是
1,2,7,127还是别的什么? -
一个带有样本输入和所需输出的可重现的小例子将有助于明确意图。
-
抱歉没有说得更清楚。但我希望输出为 1,2。以下来自 mat.tho 的代码有效。我也可以用它来添加其他字母。谢谢!