이것은 초보적이어야하지만 내 머리를 둘러 쌀 수는 없습니다. 데이터 프레임이 있고 미리 지정된 벡터에 의한 각 행의 행렬 곱셈으로 새 변수를 만들고 싶습니다.
library(dplyr)
data <- data.frame(matrix(1:6,2))
vector <- c(1,0,1)
##NOT WORKING
data <- data %>%
mutate(multiplication = as.numeric(data[,]) %*% vector)
mm <- function(x,y){
n <- as.numeric(x)
m <- n %*% y
print(as.numeric(m))
}
##NOT WORKING
data$mm <- lapply(data[,], function(x) mm(x,vector))
다음을 사용할 수 있습니다 apply
.
data %>% mutate(multiplication = apply(., 1, function(x) x %*% vector))
#> X1 X2 X3 multiplication
#> 1 1 3 5 6
#> 2 2 4 6 8
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다