반응형
write.table() 출력의 10진수를 제어하려면 어떻게 해야 합니까?
데이터(예: data.frame)를 다룰 때 사용자는 다음을 사용하여 숫자 표시를 제어할 수 있습니다.
options(digits=3)
이렇게 data.frame을 표시합니다.
ttf.all
사용자가 이렇게 Excell에 데이터를 붙여넣어야 하는 경우
write.table(ttf.all, 'clipboard', sep='\t',row.names=F)
digits 파라미터는 무시되며 숫자는 반올림되지 않습니다.
출력 보기
> ttf.all
year V1.x.x V1.y.x ratio1 V1.x.y V1.y.y ratioR V1.x.x V1.y.x ratioAL V1.x.y V1.y.y ratioRL
1 2006 227 645 35.2 67 645 10.4 150 645 23.3 53 645 8.22
2 2007 639 1645 38.8 292 1645 17.8 384 1645 23.3 137 1645 8.33
3 2008 1531 3150 48.6 982 3150 31.2 755 3150 24.0 235 3150 7.46
4 2009 1625 3467 46.9 1026 3467 29.6 779 3467 22.5 222 3467 6.40
그러나 엑셀(클립보드)에 있는 것은 반올림되지 않습니다.의 제어 방법write.table()
?
기능을 사용할 수 있습니다.format()
예를 들어 다음과 같습니다.
write.table(format(ttf.all, digits=2), 'clipboard', sep='\t',row.names=F)
format()
는 data.frames를 포함한 많은 클래스의 메서드를 가진 범용 함수입니다.와는 달리round()
데이터 프레임이 모두 숫자가 아니더라도 오류가 발생하지 않습니다.포맷 옵션에 대한 자세한 내용은 다음 URL에서 도움말파일을 참조해 주세요.?format
혼합된 데이터 프레임에 대한 솔루션 추가character
그리고.numeric
컬럼을 클릭합니다.먼저 선택하기 위해 사용합니다.numeric
그런 다음 컬럼을 적용합니다.round()
기능을 합니다.
# install.packages('dplyr', dependencies = TRUE)
library(dplyr)
df <- read.table(text = "id year V1.x.x V1.y.x ratio1
a 2006 227.11111 645.11111 35.22222
b 2007 639.11111 1645.11111 38.22222
c 2008 1531.11111 3150.11111 48.22222
d 2009 1625.11111 3467.11111 46.22222",
header = TRUE, stringsAsFactors = FALSE)
df %>%
mutate_if(is.numeric, round, digits = 2)
#> id year V1.x.x V1.y.x ratio1
#> 1 a 2006 227.11 645.11 35.22
#> 2 b 2007 639.11 1645.11 38.22
#> 3 c 2008 1531.11 3150.11 48.22
#> 4 d 2009 1625.11 3467.11 46.22
### dplyr v1.0.0+
df %>%
mutate(across(where(is.numeric), ~ round(., digits = 2)))
#> id year V1.x.x V1.y.x ratio1
#> 1 a 2006 227.11 645.11 35.22
#> 2 b 2007 639.11 1645.11 38.22
#> 3 c 2008 1531.11 3150.11 48.22
#> 4 d 2009 1625.11 3467.11 46.22
reprex 패키지로 2019-03-17에 작성(v0.2.1.9000)
언급URL : https://stackoverflow.com/questions/14260646/how-to-control-number-of-decimal-digits-in-write-table-output
반응형
'source' 카테고리의 다른 글
WPF 텍스트블록의 텍스트 수직 정렬 (0) | 2023.04.17 |
---|---|
Objective-C Runtime: 클래스가 프로토콜을 준수하는지 확인하는 가장 좋은 방법입니다. (0) | 2023.04.17 |
변수가 함수인지 아닌지는 어떻게 검출합니까? (0) | 2023.04.17 |
Excel VBA에서 행 삭제 (0) | 2023.04.17 |
Excel의 열에서 고유한 값 카운트 (0) | 2023.04.17 |