我试图分解一个变量,这个变量基本上是一个人吃了多少食物种类的计数。我的代码是带出一个错误,我不知道如何解决这个问题。
总数随食物计数连续变化
Foods$count_quintile <- factor(Foods$Totals, levels = 1:5,
labels = c("Q1", "Q2", "Q3", "Q4", "Q5"))
字符串
在我运行这个之后,count_quintile仍然是空的。
有什么想法?
2条答案
按热度按时间ergxz8rk1#
简答:
您需要对Totals列数据进行四舍五入,以便它适合您试图创建的因子变量的箱。
更长的答案:
在你的问题中,你说“总数随食物数量而连续变化”。创建连续样本数据:
字符串
正如你所看到的,每个值都是0到5之间的某个分数,每个数字都有这么多的小数位,以至于它们中的任何一个都不太可能是整数 * 精确 *。
在
factor(Foods$Totals, levels = 1:5, labels = c("Q1", "Q2", "Q3", "Q4", "Q5"))
中,levels = 1:5
部分表示输入数据用数字1到5编码;第一类是1
,第二类是2
,第三类是3
,等等。因此,当它查看我们上面看到的Total列数据时,它没有看到任何这些值,它返回NA。然后重复,创建NA列。
要使其工作,(假设四舍五入总数是适合您的数据!)可以舍入到最近的值,然后代码就可以工作了:
型
flseospp2#
factor
并不是一个合适的函数。显然,您正在寻找cut()
,您可以使用quantile()
或breaks=
的任何内容指定五分位数。字符串
我们可以做一个交叉检查:
型
型