我有一个数据框 df ,我设置了间隔点,这些间隔点保存在矢量 pts 中。现在,我想将数据标记为这些间隔。我尝试使用cut()函数,但总是会得到一个错误,即使我将x转换为数字,它也不是数字。
我的数据框 df
date amount
1 2012-07-01 2.3498695
2 2012-08-01 0.6984866
3 2012-09-01 0.9079118
4 2012-10-01 2.8858218
5 2012-11-01 1.2406948
6 2012-12-01 2.3140496
7 2013-01-01 1.5904573
8 2013-02-01 3.2531825
9 2013-03-01 4.2962963
10 2013-04-01 3.3287101
11 2013-05-01 3.7698413
12 2013-06-01 1.4376997
13 2013-07-01 5.0687285
14 2013-08-01 4.4520548
15 2013-09-01 5.5063913
16 2013-10-01 5.5676856
17 2013-11-01 6.2686567
18 2013-12-01 11.021069
我的矢量 pts ,其中列 Min 有间隔点
pts$Min
[1] 3 6 11
我的新数据框应如下所示:
date amount IntervalRange
1 2012-07-01 2.3498695 1
2 2012-08-01 0.6984866 1
3 2012-09-01 0.9079118 1
4 2012-10-01 2.8858218 2
5 2012-11-01 1.2406948 2
6 2012-12-01 2.3140496 2
7 2013-01-01 1.5904573 3
8 2013-02-01 3.2531825 3
9 2013-03-01 4.2962963 3
10 2013-04-01 3.3287101 3
11 2013-05-01 3.7698413 3
12 2013-06-01 1.4376997 4
13 2013-07-01 5.0687285 4
14 2013-08-01 4.4520548 4
15 2013-09-01 5.5063913 4
16 2013-10-01 5.5676856 4
17 2013-11-01 6.2686567 4
18 2013-12-01 11.021069 4
所以,我尝试了这个:
df_cut <- data.frame(as.numeric(df$date), "IntervalRange" = cut(
df,
breaks=pts$Min))
导致此错误消息的原因:
cut.default(df,breaks = pts $ Min)中的错误:“ x”必须为数字
我现在的问题是:
答案 0 :(得分:1)
您在cut函数中缺少值(或列)。您的命令应为
data.frame(as.numeric(df$date), "IntervalRange" = cut(df$amount, breaks=pts$Min))
希望这会有所帮助!