我在R中使用data.table
包,并且希望对列执行操作。具体而言,我想强制所有值都是(0,1)。使用R中的data.table将列限制到特定范围
让我们只用一个简单的例子在这里工作:
data = data.table(x = rnorm(10))
我的数据被存储为data.table
所以我想,我可以做这样的事情:
data[, newx := max(min(x, 1), 0)]
但聚合函数(min
和max
)计算矢量最小值/最大值。
好了,所以我做出改变的添加声明:
data[, newx := max(min(x, 1), 0), by=.I]
但这也不管用!
使用data.table
完成此类任务的正确方法是什么?
by by by = seq_along(x)' – jangorecki