我正在尝试在700k记录的df中填充一个新列,并且它对于for循环来说太慢了,因此想要使用apply函数。不熟悉它和下面是我的尝试,但这不起作用。请帮忙
myfunc <- function(a,b,c,d) {if (a=="xyz" & b==11) {c=d}}
dataf[,'target'] <- apply(dataf, 1, function(dataf) myfunc(dataf[,'col1'],dataf[,'col2'],dataf[,'target'],dataf[,'col3']))
添加更多说明 -
我有什么:
a b c d
x 2 p
x 2 p
x 2 p
xyz 11 p
xyz 11 p
xyz 2 p
y 2 p
y 2 p
y 2 p
我想要实现的目标:
a b c d
x 2 p
x 2 p
x 2 p
xyz 11 p p
xyz 11 p p
xyz 2 p
y 2 p
y 2 p
y 2 p
答案 0 :(得分:2)