首页 > 解决方案 > 这个符号 %<-% 在 r 中有什么用

问题描述

我正在用 r 学习 keras,我正在查看此页面以在分类中使用 Keras,

https://keras.rstudio.com/articles/tutorial_basic_classification.html

但我不太明白 %<-% 是什么意思

我在stackoverflow中搜索了%<-%,但没有找到任何答案。

fashion_mnist <- dataset_fashion_mnist()

c(train_images, train_labels) %<-% fashion_mnist$train
c(test_images, test_labels) %<-% fashion_mnist$test

标签: rkeras

解决方案


从帮助页面:

?keras::`%<-%`

%<-% 和 %->% 分配到评估它们的环境中。

[..]

最简单的名称结构可以是单个变量名,在这种情况下 %<-% 和 %->% 执行常规赋值,x %<-% list(1, 2, 3) 或 list(1, 2, 3) %->% x。

所以,在这种情况下,它就像x <- list(1,2,3). 巧妙的技巧是当您想要执行多项任务时:

[..]

要指定多个变量名称,请使用对 c() 的调用,例如 c(x, y, z) %<-% c(1, 2, 3)。

因此,您可以在一行中为多个对象分配多个输出:

# basic usage
c(a, b) %<-% list(0, 1)

a  # 0
b  # 1

这将等于:

a<-0
b<-1

在您的示例fashion_mnist$train中,它是一个对象(我猜是 a list),它有两个元素"train images""train labels",因此这个单线可以让您在环境中正确分配这两个元素。

此行为类似于 Python,默认情况下允许您执行此“多重赋值”。


推荐阅读