R의 열 목록 평균을 취하려고하고 있는데 문제가 발생했습니다.R의 다중 열 평균
A B C D
1 2 3 4
5 6 7 8
9 10 11 12
내가 뭘하려고 오전 열 C (A, C)의 평균을 가지고 값으로 저장라고 (E)뿐만 아니라 열 C의 평균 (B를 :의 내가 있다고 가정 해 봅시다 , D) 그리고 다른 값으로 말하면서 F라는 말로 구하십시오. 가능합니까?
E F
2 3
6 7
10 11
R의 열 목록 평균을 취하려고하고 있는데 문제가 발생했습니다.R의 다중 열 평균
A B C D
1 2 3 4
5 6 7 8
9 10 11 12
내가 뭘하려고 오전 열 C (A, C)의 평균을 가지고 값으로 저장라고 (E)뿐만 아니라 열 C의 평균 (B를 :의 내가 있다고 가정 해 봅시다 , D) 그리고 다른 값으로 말하면서 F라는 말로 구하십시오. 가능합니까?
E F
2 3
6 7
10 11
체크 아웃 dplyr 얻을 apply
를 사용
library(dplyr)
df <- df %>% mutate(E=(A+C)/2, F=(B+D)/2)
df
A B C D E F
1 1 2 3 4 2 3
2 5 6 7 8 6 7
3 9 10 11 12 10 11
우리는 컬럼 1 & 2 데이터 세트 3 & 4와 다른 하나의 서브 세트 (2)에 의해 서로 분할을 추가하고, setNames
setNames((df1[1:2] + df1[3:4])/2, c("E", "F"))
# E F
#1 2 3
#2 6 7
#3 10 11
와 열 이름을 변경할 수 또는 재활용 논리 벡터를 사용하여 list
에 유지하고 list
(sapply
사용)을 반복하고을 얻는 다른 옵션은 rowMeans
입니다.3210
i1 <- c(TRUE, FALSE)
sapply(list(df1[i1], df1[!i1]), rowMeans)
또는 또 다른 옵션은 데이터 세트 unlist
입니다 array
로 변환하고 mean
apply(array(unlist(df1), c(3, 2, 2)), c(1,2), mean)
내가 가지고있는 경우를 a1, a2, a3, b1, b2, b3, c1, c2, c3 등의 열 목록을 작성하고 평균 점수 o를 원했습니다. f 열 a1, a2, a3을 열에 넣고 b와 c를 사용하여 a, b, c의 평균을 각 문자의 단일 열에 입력하면됩니다. –
@DanteSmith이 경우,'sapply (split.default (df1, sub ("\\ d +", ", colnames (df1))), rowMeans)' – akrun
\\ d +는 어디에서 작동합니까? 그 열을 숫자로 나누고 있습니까? –