データ
与えられたデータフレーム
df <- data.frame("id"=c(1,2,3), "a"=c(10.0, 11.2, 12.3),"b"=c(10.1, 11.9, 12.9))
> df
id a b
1 1 10.0 10.1
2 2 11.2 11.9
3 3 12.3 12.9
> str(df)
'data.frame': 3 obs. of 3 variables:
$ id: num 1 2 3
$ a : num 10 11.2 12.3
$ b : num 10.1 11.9 12.9
質問
最初の行をサブセット化すると.0
、10.0
in列の小数部分a
が削除されます
> df[1,]
id a b
1 1 10 10.1
> str(df[1,])
'data.frame': 1 obs. of 3 variables:
$ id: num 1
$ a : num 10
$ b : num 10.1
これは意図的なものだと思いますが、最初の行をサブセット化して、その.0
部分を保持するにはどうすればよいですか?
ノート
2行をサブセット化すると、 .0
> df[1:2,]
id a b
1 1 10.0 10.1
2 2 11.2 11.9
これは数値の印刷方法の問題であり、Rによる値の格納方法の問題ではないことを理解していると思います。とにかく、format
数字を確実に印刷するために使用できます。
> format(df[1,], nsmall = 1)
id a b
1 1.0 10.0 10.1
> format(df[1,], nsmall = 2)
id a b
1 1.00 10.00 10.10
この動作の理由は、印刷される行数に関するものではありません。Rは、可能な最小の小数点以下の桁数を表示しようとします。ただし、表示を改善するために、列内のすべての数値は同じ桁数になります。
> df2 <- data.frame(a=c(1.00001, 1), b=1:2)
> df2
a b
1 1.00001 1
2 1.00000 2
ここで、整数以外の番号の行のみを出力すると、次のようになります。
> df2[1,]
a b
1 1.00001 1
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加