2017-04-19 4 views
-1

나는 data.set에서 프레임을 잘라 냈습니다. pictureR : 목록에서 평균()을 계산합니다.

문제는 Var1의 평균 값을 계산할 수 없다는 것입니다. 아마도 숫자가 아니기 때문입니다.

어떻게 진행합니까?

mean(c1[, "Var1"]) 
mean(c1$Var1) 

작동하지 않습니다

...

> c1["Var1"] 
     Var1 
116 661574 
128 671194 
331 847073 
454 933425 
652 1113353 
761 1220950 
764 1223786 
978 1580029 
1150 1987981 
1367 2900735 
1380 2976310 
1383 3002309 
1404 3149761 
1408 3178648 
1439 3431430 
1488 3754229 
1506 3910297 
> mean(c1[, "Var1"]) 
[1] NA 
+1

에 오신 것을 환영합니다 시도! [좋은 질문을하는 법] (http://stackoverflow.com/help/how-to-ask) 및 [재현 가능한 예] (http://stackoverflow.com/questions/)에 대한 정보를 읽어보십시오. 5963269). 이렇게하면 다른 사람들이 당신을 도울 수있게됩니다. – zx8754

+0

모든 항목이 숫자로 보입니다. 'mean (c1 $ Var1)'을 시도하십시오 –

+0

'mean (c1 [, "Var1"])'을 시도하십시오. – zx8754

답변

1

열의 데이터의 데이터 유형이 숫자이고 당신이 원하는 컬럼의 평균은 또한 데이터 형식의 숫자를해야합니다. 받고있는 오류 : mean.default (c1 [ "var1"]) : 인수가 숫자가 아니거나 논리적이 아닙니다. NA를 반환합니다. 단일 대괄호 []를 사용할 때 얻는 결과가 숫자가 아님을 의미합니다. 단일 대괄호는 항상 동일한 데이터 유형 (이 경우 list()) 인 데이터를 반환합니다. 하지만 당신이 원하는 것은 numeric 데이터 유형을 가진 mean()입니다. 시도하십시오 mean(c1[["var1"]]) 더 나은 방법은 열 인덱스를 사용하는 것입니다. 희망이 도움이!

Example.

+0

그래도 작동하지 않습니다 :/어떻게 든 Var1 만 분리 할 수 ​​있습니까? 왼쪽 숫자가없는 경우 – Christina

2

귀하의 수치는 요인입니다.

은 스택 오버플로

mean(as.numeric(levels(c1$Var1))) 
+0

예! 작동했습니다! 감사합니다! – Christina

+0

열의 모든 값이 고유 한 경우에만 작동합니다. –

관련 문제