빈도 표를 값 벡터로 변환하는 방법은 무엇입니까?


13

R 또는 Excel을 사용하여 빈도 표를 값 벡터로 변환하는 가장 쉬운 방법은 무엇입니까?

예 : 다음 주파수 표를 어떻게 변환 하시겠습니까?

Value   Frequency
  1.      2
  2.      1
  3.      4
  4.      2
  5.      1

다음 벡터로?

1, 1, 2, 3, 3, 3, 3, 4, 4, 5

답변:


21

R에서는 다음 rep명령을 사용하여 수행 할 수 있습니다 .

tab <- data.frame(value=c(1, 2, 3, 4, 5), freq=c(2, 1, 4, 2, 1))
vec <- rep(tab$value, tab$freq)

결과는 다음과 같습니다.

> tab
  value freq
1     1    2
2     2    1
3     3    4
4     4    2
5     5    1

> vec
 [1] 1 1 2 3 3 3 3 4 4 5

자세한 내용은 rep을 입력 하여 명령 의 도움말 파일을 참조하십시오 ?rep.


2
또는, 간단한 주파수 테이블을 제공 vec <- sample(1:5, 20, TRUE)만든 table(): rep(names(table(vec)), table(vec)). 그런 다음 as.numeric()카테고리가 실제 숫자 인 경우 결과를 변환해야 합니다.
caracal

1

분명히 R에서는 더 간단합니다.

Excel에서는 도우미 열을 사용합니다 ( 이 A1 인 경우).

  value freq help
1     1    2  =REPT(A2 & ", ",B2)
2     2    1  =C1 & REPT(A3 & ", ",B3)
3     3    4  (drag or copy from upper cell)
4     4    2  (drag or copy from upper cell)
5     5    1  (drag or copy from upper cell)
              =LEFT(C6, LEN(C6)-1)

C7에서는 결과가 있습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.