子集矢量未返回所需的值

时间:2018-03-30 04:58:36

标签: r vector

x[1]

1返回1.0作为输出

我希望x[2]作为输出。

1.1一样返回String alfa = "something.stuff"; String[] result = alfa.split("."); 作为输出。

1 个答案:

答案 0 :(得分:4)

正如Sathish在评论中所说,你必须设置格式:

x <- c(1.0,1.1,2.5,3.5)
x[1]
[1] 1

cat(format(x[1],nsmall = 1)
1.0

但是,您的矢量仍为数字。我用cat()只显示数字:

x[1] + x[2]
[1] 2.1

x[1:2]
[1] 1.0 1.1

所以如果你想显示vector的单个元素(带.0),我会推荐cat和format。

当然你可以这样做:

x <- format(x,nsmall = 1)
x[1]
[1] "1.0"

但是你的矢量现在是字符而不是数字,所以要注意格式化R中的数字。

总结一下,如果要显示带小数分隔符的数字和0,则必须更改格式,我的意思是单个数字。但是不要格式化整个数据,仅在这种情况下使用它。