我正在尝试使用管道运算符来处理 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.
我可以通过逐条运行代码来处理这个问题,但这很麻烦,因为我需要重做代码。
您正在数据框中进行管道传输,因此应省略“mutate”的第一个参数。 尝试:
kolokasi <- rbind(kolokasi_gay, kolokasi_lesbian) %>%
mutate(logdice = 14 + log2((2*w1w2)/(w1+w2)))
我还删除了“选择”,因为无论如何你只有 5 列。