【发布时间】:2016-07-20 08:59:32
【问题描述】:
我在 R 中创建了一个简单的基于 data.table 的函数,它允许我插入所需的数据框并用分号拆分值,以便创建完整列表扩展的附加行和其他列的条目保持不变。
splitSemicolons = function(x){
new_df <- data.table(x, key="SampleID")
final_df <- new_df[, list(Identifier = unlist(strsplit(Identifier, ";"))), by=c('SampleID', 'Name')]
}
我的数据框
>df
SampleID, Name, Identifier
1, John, PS897
2, Mary, GF521
3, George, DG636;DG637
4, Helen,
5, Patrick, WV168
由于某种原因,执行该功能后,控制台给了我错误; “找不到对象'标识符'”,而不是提供下面的结果。奇怪的是,代码在函数括号之外完美运行,但完全删除了带有空白值的条目,例如 SampleID=4 中的 Helen。
>desired_result
SampleID, Name, Identifier
1, John, PS897
2, Mary, GF521
3, George, DG636
3, George, DG637
4, Helen,
5, Patrick, WV168
【问题讨论】:
标签: r split data.table