R用箱子替换值

use*_*419 1 r classification

我有一个带整数值的df.出于分类的目的,我想将这个df替换为具有预定间隔而不是整数的更简单的df.我该如何有效地做到这一点?一个例子如下:

DF:

   1   2   3
1  5   3   0 
2  1   10  12
3  3   0   10
Run Code Online (Sandbox Code Playgroud)

转换为:

   1      2      3
1  [3-5]  [3-5]  [0-2]
2  [0-2]  [10-12][10-12]
3  [3-5]  [0-2]  [10-12]
Run Code Online (Sandbox Code Playgroud)

Hon*_*Ooi 10

是df数据框还是矩阵?这个名字暗示了前者,但你描述它的方式暗示了后者.

如果它是一个矩阵:

df2 <- cut(df, c(0, 2, 5, 9 12))
dim(df2) <- dim(df)
Run Code Online (Sandbox Code Playgroud)

如果是数据框:

df[] <- lapply(df, cut, c(0, 2, 5, 9, 12))
Run Code Online (Sandbox Code Playgroud)