2016-09-06 1 views
0

내가 어떻게 이렇게 데이터 프레임을 플립 할dcast 오류 : '일치의 오류 (X, 테이블, nomatch = 0L)`

"ID","ReleaseYear","CriticPlayerPrefer","n","CountCriticScores","CountUserScores" 
"1",1994,"Both",1,5,283 
"2",1994,"Critics",0,0,0 
"3",1994,"Players",0,0,0 
"4",1995,"Both",3,17,506 
"5",1995,"Critics",0,0,0 
"6",1995,"Players",0,0,0 
"7",1996,"Both",18,163,3536 
"8",1996,"Critics",2,18,97 
"9",1996,"Players",3,20,79 

... dataframe 이런 식으로 뭔가를 보이는 df라는이 열은 다음과 같습니다 : 열 Both', 비평가 and 선수 각 would be the n`에 대한

"ReleaseYear","Both","Critics","Players"

값. 문제는 여기에 무엇

Error in match(x, table, nomatch = 0L) : 
    'match' requires vector arguments 

:이 실행하려고

...

require(dcast) 
chartData.CriticPlayerPreferByYear <- dcast(
    data = df, 
    formula = ReleaseYear ~ CriticPlayerPrefer, 
    fill = 0, 
    value.var = n 
) 

... 나는이 오류가? 어떻게 수정해야합니까?

+3

는'value.var = "N"은 '열 이름이 인용 될 필요가있다. – Psidom

+0

dcast는 패키지가 아닙니다. AFAIK; 당신은 reshape2를 의미합니까? 대안 :'라이브러리 (dplyr); 도서관 (청결한); DF %> % (ReleaseYear, CriticPlayerPrefer, N)를 선택 %> % 확산 (CriticPlayerPrefer, N)' – alistaire

+0

@Psidom 당신이 날 가서 – Username

답변

2

당신은 인용 부호 누락 것 같다?

data <- read.table(text='"ID","ReleaseYear","CriticPlayerPrefer","n","CountCriticScores","CountUserScores" 
"1",1994,"Both",1,5,283 
"2",1994,"Critics",0,0,0 
"3",1994,"Players",0,0,0 
"4",1995,"Both",3,17,506 
"5",1995,"Critics",0,0,0 
"6",1995,"Players",0,0,0 
"7",1996,"Both",18,163,3536 
"8",1996,"Critics",2,18,97 
"9",1996,"Players",3,20,79"',header=T,sep=",") 

library(reshape2) 
dcast(data, ReleaseYear ~ CriticPlayerPrefer, value.var="n") 

# ReleaseYear Both Critics Players 
#  1994 1  0  0 
#  1995 3  0  0 
#  1996 18  2  3 

이것은 내가 얻은 것입니다. 원하는 결과입니까?

+0

그냥 @Psidom 코멘트를 보았다 답변을 게시,이 올바른를 표시 할 경우; 무시 ^ – prateek1592