首页 > 解决方案 > R 聚合将字符串转换为数字。为什么会发生这种情况,我该如何避免?

问题描述

为什么此代码仅将数字打印到控制台?如何获取名称为 1 到 13 且内容为 a,n 的列表;b,o; 等等?

aggregate(letters, by = data.frame(rep(1:13, 2)), head, simplify = F)

我正在使用 R 3.5.1。

我还没有找到重复的。这是我迄今为止在类似主题上发现的内容。

一个类似但不相同的问题:

R 聚合 FUN=head

一个明显相似的问题,实际上是关于聚合数字:

R:聚合字符串

标签: r

解决方案


letters被强制转换为数据框。它成为一个因素。因子在 R 中以整数形式存储。如果级别在某处丢失,它们通常开始看起来像整数。试试这个:

aggregate(data.frame(letters, stringsAsFactors = F), by = data.frame(rep(1:13, 2)), head, simplify = F)


推荐阅读