如何在R中创建范围,如果我的数据帧的列中的数字与间隔匹配,我们可以创建一个标记为1的新列

如何在R中创建范围,如果我的数据帧的列中的数字与间隔匹配,我们可以创建一个标记为1的新列,r,R,假设我的数据框中有一列值,其中包括 [1.0,1.01,1.1,2.01,2.1] 我想创建一个区间,例如[1.0,1.1)包含区间,非包含区间 我还有一个列向量,其中填充了0,0的数字数与我的值列的数字数相同 如果值的列与间隔匹配,则将间隔数从0更改为1 在R中实现这一点最简单的方法是什么?以及如何为更大的值列实现自动化 (创建多个间隔,如[1.0,1.1)+[1.1,1.2)+[1.2,1.3)+等)我们可以使用cut来创建存储箱,方法是指定中断,然后通过创建到向量的列表的存储箱进行拆分 g

假设我的数据框中有一列值,其中包括

[1.0,1.01,1.1,2.01,2.1]

我想创建一个区间,例如[1.0,1.1)包含区间,非包含区间 我还有一个列向量,其中填充了0,0的数字数与我的值列的数字数相同

如果值的列与间隔匹配,则将间隔数从0更改为1

在R中实现这一点最简单的方法是什么?以及如何为更大的值列实现自动化


(创建多个间隔,如[1.0,1.1)+[1.1,1.2)+[1.2,1.3)+等)

我们可以使用
cut
来创建存储箱,方法是指定
中断
,然后通过创建到
向量的
列表
的存储箱进行
拆分

grp <- cut(df1$col, breaks = c(-Inf, seq(1.0, 2.0, by = 0.1), Inf))
lst1 <- split(df1$col, grp)

grp我可以提取每个区间的所有值吗?我想做的是平均每个区间的值,并用平均值替换这些数字。@克里斯:是的,您可以通过“bin”将
拆分为
列表
,然后用
lst1[[1]]提取
列表
元素
或bin的值因此,在提取值并计算平均值之后,如何将平均值放入间隔中的所有值中?@chris为此,您可以使用
ave
ave(df1$col,grp)