r - 地图在其函数中无法识别 `.` 或 `.x`
问题描述
我想知道为什么map
不在下面我的可重现示例上运行?
library(purrr)
library(emmeans)
library(lme4)
dat <- read.csv('https://raw.githubusercontent.com/rnorouzian/e/master/dat2.csv')
fit <- lmer(math ~ time*ses + I(time^2)*ses+ (time|id), data = dat)
map(0:7,
~emtrends(fit, ~ses, var= "time", max.degree= 2,at =list(ses=0,time=.)))
# I used .x also but didn't work
Error in ref_grid(object = object, max.degree = 2, at = list(ses = 0, :
object '.' not found
解决方案
在这种情况下,您只需要map
:
library(emmeans)
purrr::map(0:7,
~emtrends(fit, ~ses, var= "time", max.degree= 2,at =list(ses=0,time=.)))
如果你通过它似乎.x
工作imap
:
purrr::imap(0:7,
~emtrends(fit, ~ses, var= "time", max.degree= 2,at =list(ses=0,time=.x)))
但是,imap
仅当您想在函数中传递名称或索引时使用。在这里,我们不需要它们中的任何一个,所以map
应该足够了。
推荐阅读
- macos - 与原生 macOS 可执行文件相比,为什么我的 u64 Rust 程序使用 Docker(桌面)运行得更快?
- python - 当我在第二个窗口上单击 pb_2 时,如何将第二个窗口上选择的 listWidget 值传输到第一个窗口上的 lineEdit
- amazon-dynamodb - 根据 TTL 过滤记录
- postgresql - 在 Postgres 中防止空字符串的全局方法
- flutter - firebase_storage 和 integration_test 出错
- vim - 如何在没有弹出菜单的情况下在 Vim 中自动输入自动完成项
- python - Matplotlib 的直方图图例为破折号
- laravel - Laravel + Vuejs:如何将图像链接到 Laravel 公共文件夹
- java - Jackson YAML 序列化 - 防止多行写入
- node.js - Firebase 云函数 - 何时返回 Promise - NodeJs