好吧,它可能不是最好的标题。我正在尝试优化我的脚本以使其快速运行。让我给你一个示例输入和示例输出:
mydf<- data.frame('col1'=c('firstresult01anotherresult02','firstresult03anotherresult04'))
我可以编写一个自定义函数,从col1
中提取信息,例如我从第一行得到类似:'result01'
和'result02'
,以及'result03'
和第二行'result04'
。接下来,我想将每行的输出放在不同的列上,例如输出数据帧将是:
mydf<- data.frame('col1'=c('firstresult01anotherresult02',
'thirdresult03fourthresult04'), 'col2' = c('result01', 'result03'),
'col3'=c('result02', 'result04'))
你可以注意到每行的第一个输出字符串是'col2',第二个输出字符串是'col3'。
如果我只有一个输出字符串,我可以这样做:
mydf$col2<- sapply(x = mydf$col1, FUN = my_custom_function)
因为我将有2个输出字符串分成两个单独的列,所以我要么重复操作两次(可能是最快的选项),要么我按行子集,每次都将值分配给两个新列。我想知道是否有一个更优雅的解决方案来做到这一点。如果示例不清楚,请告诉我,我期待大家的到来:))