在 R 语言里,`$` 只有一个作用 按名字提取“列表型”对象里的单个元素 对象 $ 名字

在 R 语言里,$ 只有一个作用:
按名字提取"列表型"对象里的单个元素 (最常见的是 data.frame/tibble 的列)。

语法

r 复制代码
对象 $ 名字

结果

返回该名字对应的向量(或子列表、子成分)。


最常见场景------取数据框的列

r 复制代码
df <- data.frame(
  id   = 1:3,
  name = c("Alice", "Bob", "Carol"),
  age  = c(21, 27, 23)
)

df$name        # 返回字符向量:c("Alice", "Bob", "Carol")
df$age         # 返回数值向量:c(21, 27, 23)

等价写法

r 复制代码
df[["name"]]   # 与 df$name 完全等价,只是写起来多两个字符
df[, "name"]   # 也是同一列,但返回的是 data.frame(除非加 drop = TRUE)

对纯 list 同样有效

r 复制代码
lst <- list(a = 1:3, b = letters[1:5])
lst$b          # 返回 "a" "b" "c" "d" "e"

不能用在矩阵、向量、环境等其他类型上

r 复制代码
m <- matrix(1:6, 2, 3)
m$V1           # 报错:$ 无效,矩阵不是列表
1:5$x          # 报错:原子向量不能用 $

一句话总结
$ 就是 "列表/数据框专用点号"
df$colName 等价于 df[["colName"]],用来快速提取某一列(或列表成分)的向量。

相关推荐
仰泳之鹅1 天前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆1 天前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
cen__y1 天前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人1 天前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
郭涤生1 天前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588
山居秋暝LS1 天前
【无标题】RTX00安装paddle OCR,win11不能装最新的,也不能用GPU
开发语言·r语言
卢锡荣1 天前
单芯通吃,盲插标杆 —— 乐得瑞 LDR6020,Type‑C 全场景互联 “智慧芯”
c语言·开发语言·计算机外设
Xin_ye100861 天前
C# 零基础到精通教程 - 第七章:面向对象编程(入门)——类与对象
开发语言·c#
AI科技星1 天前
《数学公理体系·第三部·数术几何》(2026 年版)
c语言·开发语言·线性代数·算法·矩阵·量子计算·agi