【发布时间】:2014-03-28 17:05:53
【问题描述】:
考虑一下x 日期集:
set.seed(1234)
x <- sample(1980:2010, 100, replace = T)
x <- strptime(x, '%Y')
x <- strftime(x, '%Y')
以下是这些日期的年份分布:
> table(x)
x
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1994
4 4 3 3 6 4 3 4 5 12 1 1 1 2
1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
9 4 2 1 4 4 2 1 4 1 4 3 4 3
2010
1
现在假设我想按十年对它们进行分组。为此,我使用cut 函数:
> table(cut(x, seq(1980, 2010, 10)))
Error in cut.default(x, seq(1980, 2010, 10)) : 'x' must be numeric
好的,让我们将x 强制转换为数字:
> table(cut(as.numeric(x), seq(1980, 2010, 10)))
(1.98e+03,1.99e+03] (1.99e+03,2e+03] (2e+03,2.01e+03]
45 28 23
现在,如您所见,该表的row.names 采用科学格式。 如何强制它们不使用科学记数法?我尝试将上面的整个命令包装在 format、formatC 和 prettyNum 中,但所有这些都是格式化频率。
【问题讨论】:
-
cut有一个名为dig.lab的参数。 -
你确定你在这里使用了
set.seed()吗?我没有得到和你一样的结果。 -
你可以做
floor(x/10)*10 -
@AnandaMahto,你说得对,我在这里写的,忘记在我的 R 会话中使用它。 :$ 更新中。
标签: r format posixct scientific-notation