如何在R中的一列整数中查找和替换十进制数?
我正在处理一个来自机器的数据集。 在一列中,所有值都是不带小数的整数,但有时机器会记录一些带小数的数字。 在本列中,所有数字的顺序是从1到9,然后再从1到9,但重复次数不同。例如,可能有五个1或三个2如何在R中的一列整数中查找和替换十进制数?,r,replace,R,Replace,我正在处理一个来自机器的数据集。 在一列中,所有值都是不带小数的整数,但有时机器会记录一些带小数的数字。 在本列中,所有数字的顺序是从1到9,然后再从1到9,但重复次数不同。例如,可能有五个1或三个2 1 1 1 2 3 4 5 8.6 6 7 7 7 7 8 9 9 4.2 1 1 1 2 3 如何在整数中找到这些带小数的数字,并用其他未舍入的值替换它们,或从数据集中删除这些数字? 提前感谢只需使用ifelse功能 您说过您不想只对值进行四舍五入,但是如果这是一个选项,那么简单的d只需使用i
1
1
1
2
3
4
5
8.6
6
7
7
7
7
8
9
9
4.2
1
1
1
2
3
如何在整数中找到这些带小数的数字,并用其他未舍入的值替换它们,或从数据集中删除这些数字?
提前感谢只需使用ifelse功能
您说过您不想只对值进行四舍五入,但是如果这是一个选项,那么简单的d只需使用ifelse函数即可
您说过您不想只对值进行四舍五入,但是如果这是一个选项,那么一个简单的d如果您的数据帧称为df,列为V1,您可以通过
df$V1 %% 1 != 0
#[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
#[14] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
如果要替换这些值,请使用NA
如果要删除十进制值,可以执行以下操作:
df <- df[df$V1 %% 1 == 0, , drop = FALSE]
如果数据帧称为df,列为V1,则可以通过
df$V1 %% 1 != 0
#[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
#[14] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
如果要替换这些值,请使用NA
如果要删除十进制值,可以执行以下操作:
df <- df[df$V1 %% 1 == 0, , drop = FALSE]
使用dput重新创建数据集并在此处发布结果。使用dput重新创建数据集并在此处发布结果。
df <- df[df$V1 %% 1 == 0, , drop = FALSE]