2014-11-03 3 views
1

그러나 특정 값의 표시에 대한 질문은 단일 값이나 벡터에 대해서 게시되었으므로 다른 사람이이를 도와 줄 수 있기를 바랍니다.데이터 프레임 열의 소수점 자릿수 변경 R

여러 개의 열이있는 데이터 프레임이 있고 두 개의 십진수 (이 열만)가있는 한 열에 모든 값을 표시하려고합니다. round() 및 format() 및 options (digits)을 시도했지만 아무 것도 열 (numeric)에서 작동하지 않습니다. 열을 벡터로 변환하고 모두를 다시 붙이는 추가 방법을 사용하지 않고이 작업을 수행하는 방법이 있는지 궁금합니다.

고맙습니다.

data=cars+runif(nrow(cars)) 
: 여기
+1

시도한 내용 (코드)을 보여줄 수 있습니까? – user1477388

+0

불행히도 작동하지 않을 때 모든 것을 삭제하지 않았습니다. : ( – Kristina

답변

5

우리가 소수 자릿수와 숫자를 가질 수 있도록 좀 변화를 추가 할 것입니다 R.

먼저 설치되어 제공 cars data.frame으로이 작업을 수행하는 방법의 예

다음합니다 (dist 열 2에 소수점이 경우) 단 하나의 열을 반올림합니다 :

data[,'dist']=round(data[,'dist'],2) 

를 데이터가 포함 된 경우 누가 le 숫자를 사용하면 다음을 사용하여 모든 값이 소수 둘째 자리를 차지하게됩니다.

cars[,'dist']=format(round(cars[,'dist'],2),nsmall=2) 
+0

CephBirk에 감사드립니다. 그 뒤에있는 논리를 볼 수 있습니다. 불행히도 작동하지 않았습니다. 문제는 실제로 4 자리 숫자를 나눕니다. 예를 들어 8000)를 100으로 나누면 100으로 80.00이됩니다 (이것은 십진수 시간 측정 값입니다). 그래서 R은 그것을 표시하고 싶지 않습니다. Excel로 숫자를 변경하려고했으나 R로 채워지지는 않았지만 실제 숫자에 2를 더하면 소수점 자리 (예 : 0.01)를 열의 맨 위에 놓으면 R은 나머지를 80.00으로 표시하지만 0.01 R을 삭제하면 바로 80으로 점프합니다. 두 번째 숫자 뒤에 점을 찍는 방법을 알게 되나요? – Kristina

관련 문제