r - tidyr spread 改变数值
问题描述
我正在使用类似的数据集执行此操作,并且遇到了同样的问题:
example <- mpg %>%
select(manufacturer) %>%
group_by(manufacturer) %>%
count(manufacturer) %>%
unique() %>%
spread(manufacturer, n)
我需要在展开后合并列信息,但是该函数正在将我的数字列“n”更改为未知字符的列。当我尝试添加列时,出现此错误:
example <- mpg %>%
select(manufacturer) %>%
group_by(manufacturer) %>%
count(manufacturer) %>%
unique() %>%
spread(manufacturer, n) %>%
mutate(combination = 'ford'+'honda')
mutate_impl(.data, dots) 中的错误:评估错误:二进制运算符的非数字参数。
谢谢你的帮助
编辑:正如评论所说,删除引号解决了这个问题。但是,我的实际数据集具有带空格的变量名称(用于最终报告美学),因此我需要找到一种方法来纠正此问题,而无需简单地删除引号。为此,我这样做了:
example <- mpg %>%
mutate(manufacturer = ifelse(manufacturer == 'ford' |
manufacturer == 'honda', "combination", manufacturer)) %>%
select(manufacturer) %>%
group_by(manufacturer) %>%
count(manufacturer) %>%
unique() %>%
spread(manufacturer, n)
解决方案
推荐阅读
- arduino - 是否可以在 Arduino 中创建交互式网格以将位置 DMX 数据发送到智能灯具?
- octave - 打印时注释崩溃八度
- php - 循环数组并添加,在所有行和列中找到相同的 ID
- java - 如何将 YAML 属性序列化为 Map
- azure - 获取 Azure VM 创建日期
- python - 从 Python 中的已知 MAC 地址获取本地 IP 地址?
- powerbi - 获得 Power BI 的平均小时数
- javascript - 未选择所需输入时发出警告
- xml - 为什么 getElementsByTagName 找不到元素?
- javascript - 取消/中止 Vue 组件上的 Axios 帖子