我的数据集如下所示: Data 我有一个函数可以帮助我建立属性, att 表示(同年)事件的数量,并且相同的键,并且名字和名字之间存在差异:
N=nrow(data)
for(i in 1:N){
data$att[i] = nrow(
subset(
data,
date[i] == date &
key[i] == key &
first_name_main[i] != first_name
)
)}
如何使用Apply函数转换/改善此循环?
谢谢!
答案 0 :(得分:0)
您可以使用sapply
并基本上将循环体定义为对数据集中的每一行求值的函数:
data$att <- sapply(1:nrow(data), function(x){
nrow(subset(data,date == date[x] &
key == key[x] &
first_name != first_name_main[x]))
})