Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用cut()进行装箱后重命名R中的值_R - Fatal编程技术网

使用cut()进行装箱后重命名R中的值

使用cut()进行装箱后重命名R中的值,r,R,我有一个我想用cut()存储的数值列表。现在,每一行都已替换为它所属的范围,其形式为使用括号的范围,例如,[0140]表示介于0和140之间(包括0和140) 问题是这些名称很长,最终需要指数表示法,使它们更长,并且使图形难以辨认。使用typeof()看起来它仍然是整数形式,但我不知道如何使用因子重命名它们。当我尝试使用factor()和labels参数时,我被告知排序只对原子列表有效 作为一个示例,以下是我在数据集上尝试的内容,除了内置的iris数据集: data(iris) iris[1]

我有一个我想用cut()存储的数值列表。现在,每一行都已替换为它所属的范围,其形式为使用括号的范围,例如,[0140]表示介于0和140之间(包括0和140)

问题是这些名称很长,最终需要指数表示法,使它们更长,并且使图形难以辨认。使用typeof()看起来它仍然是整数形式,但我不知道如何使用因子重命名它们。当我尝试使用factor()和labels参数时,我被告知排序只对原子列表有效

作为一个示例,以下是我在数据集上尝试的内容,除了内置的iris数据集:

data(iris)
iris[1] <- cut(iris[[1]], 10, include.lowest=TRUE)
iris[1] <- factor(iris[1], labels = c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"))

这是一个因素。这就是
cut
所做的:把一个数字变成一个因子。因此,使用它的
labels
参数,就像使用
factor
一样。我尝试将labels参数与factor一起使用,但它告诉我它只适用于原子列表。你知道如何克服这一点吗?任何因素都一样,因为它们存储为整数。如果调用
is.factor
查看它是否是一个因子。除此之外,如果你想要一个答案,你需要做出决定。也许我没有正确地遵循惯例,但是你能看看我在文章底部编辑的例子吗?它基本上显示了除了iris数据集之外我的步骤。如果使用一个括号和一个维度进行子集,
iris
将保持其结构为data.frame,而不是下降到向量。使用
iris[[1]]
iris[,1]
iris$Sepal.Length
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?