我试图找到一种干净的方法来让我的 DT 的第一列,对于每一行,等于在其他列中找到的 user_id。也就是说,我必须在每一行中搜索“user_id”,并返回找到实例的整个单元格。
我首先尝试获取找到部分匹配的列的索引,然后使用它来设置第一列的值,但是没有用。例子:
user_id 1 2
1: N/A 300 user_id154
2: N/A user_id301 user_id125040
3: N/A 302 user_id2
例如,我想获得以下内容
**user_id**
user_id154
user_id301
user_id2
请记住,我是 R 中这种数据格式的新手(我所做的大部分工作不涉及清理 JSON 文件..),并且我的 data.table 有超过 100 万行。答案不需要非常高效,但绝对不应该超过 5 分钟,否则我的老板会认为它太慢了。
希望这是可以理解的
对于表中的每一行,其中包含的grep
第一个值"user_id"
并将结果放入 column user_id
。
df$user_id <- apply(df, 1, function(x) grep("user_id", x, value = TRUE)[1])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句