병합하고 각 숫자를 계산하는 분할 테이블을 반환해야하는 여러 열이 있습니다.
서수 데이터 세트의 예 :
df <- data.frame(ab = c(1,2,3,4,5),
ba = c(1,3,3,3,5))
>ab ba
1 1
2 3
3 3
4 3
5 5
다음과 같이 표시되는 분할 표를 반환하고 싶습니다.
>1 2 3 4 5
2 1 4 1 2
비슷한 문제에 대해 여기에 나와있는 예제를 시도했지만 개수 대신 합계가 반환됩니다.
library(plyr)
colSums(rbind.fill(data.frame(t(unclass(df$ab))), data.frame(t(unclass(df$ba)))),`
na.rm = T)
어떤 도움이라도 대단히 감사합니다
우리 로 및 적용 에unlist
data.frame
vector
table
base R
table(unlist(df))
# 1 2 3 4 5
# 2 1 4 1 2
또는을 사용 tidyverse
하여 데이터를 '긴'형식으로 변경 pivot_longer
하여count
library(dplyr)
library(tidyr)
df %>%
pivot_longer(cols = everything()) %>%
count(value)
df <- structure(list(ab = 1:5, ba = c(1L, 3L, 3L, 3L, 5L)),
class = "data.frame", row.names = c(NA,
-5L))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다