我需要根据列值计算与特定行不同的行数,同时避免循环解决方案。
示例:取一个有四行的data.table对象,其中每行代表一个人。A每个人都有3个价值观v1, v2, v3。目标是计算对于特定个体(行),有多少其他个体的所有三个变量的值都严格大于(或等于),并计入变量 中count。完成这项工作的循环版本可能是:
A = data.table(matrix(0, nrow = 4, ncol = 3))
colnames(A) <- c("v1","v2","v3")
# Assign values for variables v1, v2, v3
A[1,1] <- 1; A[1,2] <- 1; A[1,3] <- 1
A[2,1] <- 1; A[2,2] <- 1.5; A[2,3] <- 1
A[3,1] <- 0.9; A[3,2] <- 0.5; A[3,3] <- 0.8
A[4,1] <- 2; A[4,2] <- 1.5; A[4,3] <- 2
# Count variable
A$count = NA
for(j in 1:nrow(A)){
A$count[j] = …Run Code Online (Sandbox Code Playgroud)