管道运算符在 R mutate() 函数中不起作用

问题描述 投票:0回答:1

我正在尝试使用管道运算符来处理 R 中的数据帧,但它似乎不想工作。我已经加载了 tidyverse 包,但仍然无法工作。这是错误消息:

Error in `mutate()`:
ℹ In argument: `kolokasi`.
Caused by error:
! object 'kolokasi' not found
Run `rlang::last_trace()` to see where the error occurred.

这是我正在处理的数据框的示例

kolokasi_gay <- data.frame(lex1 = c('геи', "геи", "геи", "геи"),
                           lex2 = c('лесбиянка', 'бисексуал', 'пропаганда', 'активист'),
                           w1w2 = c(256, 30, 45, 50),
                           w1 = c(1000, 1000, 1000, 1000),
                           w2 = c(1000, 214, 33, 1325))

kolokasi_lesbian <- data.frame(lex1 = c('лесбиянка', "лесбиянка", "лесбиянка", "лесбиянка"),
                           lex2 = c('лесбиянка', 'бисексуал', 'пропаганда', 'активист'),
                           w1w2 = c(256, 30, 45, 50),
                           w1 = c(1000, 1000, 1000, 1000),
                           w2 = c(1000, 214, 33, 1325))

这是我正在运行的代码

kolokasi <- rbind(kolokasi_gay, kolokasi_lesbian) %>%
  select(1:5) %>%
  mutate(kolokasi, logdice = 14 + log2((2*w1w2)/(w1+w2)))

我想知道为什么当我运行整个代码时,管道运算符上的 mutate() 出现错误?我在这里做错了什么?

我可以运行代码,但要单独执行,而不是作为管道操作员。

感谢您的帮助,谢谢

我已经运行了 tidyverse 库,当我运行此代码时,立即运行整个代码

kolokasi_gay <- data.frame(lex1 = c('геи', "геи", "геи", "геи"),
                           lex2 = c('лесбиянка', 'бисексуал', 'пропаганда', 'активист'),
                           w1w2 = c(256, 30, 45, 50),
                           w1 = c(1000, 1000, 1000, 1000),
                           w2 = c(1000, 214, 33, 1325))

kolokasi_lesbian <- data.frame(lex1 = c('лесбиянка', "лесбиянка", "лесбиянка", "лесбиянка"),
                           lex2 = c('лесбиянка', 'бисексуал', 'пропаганда', 'активист'),
                           w1w2 = c(256, 30, 45, 50),
                           w1 = c(1000, 1000, 1000, 1000),
                           w2 = c(1000, 214, 33, 1325))

kolokasi <- rbind(kolokasi_gay, kolokasi_lesbian) %>%
  select(1:5) %>%
  mutate(kolokasi, logdice = 14 + log2((2*w1w2)/(w1+w2)))

它给了我这个错误消息

Error in `mutate()`:
ℹ In argument: `kolokasi`.
Caused by error:
! object 'kolokasi' not found
Run `rlang::last_trace()` to see where the error occurred.

我可以通过逐条运行代码来处理这个问题,但这很麻烦,因为我需要重做代码。

r pipeline mutate
1个回答
0
投票

您正在数据框中进行管道传输,因此应省略“mutate”的第一个参数。 尝试:

kolokasi <- rbind(kolokasi_gay, kolokasi_lesbian) %>%
  mutate(logdice = 14 + log2((2*w1w2)/(w1+w2)))

我还删除了“选择”,因为无论如何你只有 5 列。

© www.soinside.com 2019 - 2024. All rights reserved.