新的ID列,具体取决于R中的另一列
我想根据另一列在我的DF中生成新的ID列 我的DF看起来像这样的东西,
> TCR <- c("CAAETSGSRLTF;CASSQEGTGVYEQYF","CGSRLTF;CASSQEGTGVYEQYF","CAAETSGSRLTF;CASSQEGT", "CAAETSGSRLTF;CASSQEGTGVYEQYF")
> df <- as.data.frame(TCR)
> df
cdr3
1 CAAETSGSRLTF;CASSQEGTGVYEQYF
2 CGSRLTF;CASSQEGTGVYEQYF
3 CAAETSGSRLTF;CASSQEGT
4 CAAETSGSRLTF;CASSQEGTGVYEQYF
我想添加一个新的列DF $ ID,该DF $ ID看一下DF $ CDR3并为每个值分配一个新字符,如果重复该值,则使用与之前使用过的值相同的值 所以它变成了这样的事情,
>df
cdr3 ID
1 CAAETSGSRLTF;CASSQEGTGVYEQYF X1
2 CGSRLTF;CASSQEGTGVYEQYF X2
3 CAAETSGSRLTF;CASSQEGT X3
4 CAAETSGSRLTF;CASSQEGTGVYEQYF X1
非常感谢
I want to generate a new ID column in my df based on another column
my df looks something like this
> TCR <- c("CAAETSGSRLTF;CASSQEGTGVYEQYF","CGSRLTF;CASSQEGTGVYEQYF","CAAETSGSRLTF;CASSQEGT", "CAAETSGSRLTF;CASSQEGTGVYEQYF")
> df <- as.data.frame(TCR)
> df
cdr3
1 CAAETSGSRLTF;CASSQEGTGVYEQYF
2 CGSRLTF;CASSQEGTGVYEQYF
3 CAAETSGSRLTF;CASSQEGT
4 CAAETSGSRLTF;CASSQEGTGVYEQYF
I want to add a new column df$ID that looks into df$cdr3 and assigns a new character for each value, and if the value is repeated it uses the same value that was used before
So it becomes something like this
>df
cdr3 ID
1 CAAETSGSRLTF;CASSQEGTGVYEQYF X1
2 CGSRLTF;CASSQEGTGVYEQYF X2
3 CAAETSGSRLTF;CASSQEGT X3
4 CAAETSGSRLTF;CASSQEGTGVYEQYF X1
Thanks a lot guys
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我们可以在
中使用
在'cdr3'中匹配Match
基础runique
值,获取索引和paste
使用X
-Output
We can use
match
inbase R
to match theunique
values in 'cdr3', get the index andpaste
withX
-output
这是
tidyverse
使用fct_inorder
fromforcats
软件包的解决方案。使用fct_inorder
我们可以在row_number()
中保留其他订单!Here is
tidyverse
solution with usingfct_inorder
fromforcats
package. Withfct_inorder
we could keep ther order inrow_number()
!