【发布时间】:2021-11-17 14:26:54
【问题描述】:
我有一个非常大的data.table,结构如下:
variant ID1 ID2 ID3 ID4 .... ID80000
123 0 1 2 1 0
321 1 2 1 1 1
543 1 1 2 1 1
6542 1 0 0 1 0
243 1 0 2 1 1
654 0 1 1 2 1
342 1 2 1 2 1
我想根据字符串中的 ID 是否存在于上表中添加一个 0 或 1 的行。
假设我有一个列表: a
期望的输出是:
variant ID1 ID2 ID3 ID4 .... ID80000
123 0 1 2 1 0
321 1 2 1 1 1
543 1 1 2 1 1
6542 1 0 0 1 0
243 1 0 2 1 1
654 0 1 1 2 1
342 1 2 1 2 1
present 0 1 0 1 0
有点像这个问题,但排成一行:Create new conditional column if string contains elements from list
我试过了:
df$present <- colnames(df) %in% id_list
但我收到一个错误,因为它说行太多。
非常感谢您的帮助
ifelse 在这里有用吗?
【问题讨论】:
-
df$present <-创建一个新的列。看起来你想要一个新的 row。rbind和df['present', ] <-想到添加一行。 -
感谢您发现巨大的失败!