首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在R中,为什么[<-.data.frame`和`$<-.data.frame`表现不同?

在R中,[<-.data.frame$<-.data.frame是用于修改数据框(data.frame)中的值的两个函数。它们之间的表现差异主要是因为它们的工作原理和用法不同。

  1. [<-.data.frame函数:该函数用于通过索引方式修改数据框中的值。它的一般语法是[<-.data.frame(x, i, j, value),其中:
    • x是要修改的数据框;
    • i是行索引,可以是一个向量或逻辑向量,用于指定要修改的行;
    • j是列索引,可以是一个向量、逻辑向量或列名,用于指定要修改的列;
    • value是要赋给指定位置的新值。

[<-.data.frame函数的表现特点:

  • ij都是逻辑向量时,可以实现条件修改;
  • ij都是向量时,可以实现多个位置的修改;
  • ij都是单个值时,可以实现单个位置的修改。

例如,要将数据框df中第一行第二列的值修改为10,可以使用以下代码:

代码语言:R
复制

df <- data.frame(a = 1:3, b = 4:6)

df1, 2 <- 10

代码语言:txt
复制
  1. $<-.data.frame函数:该函数用于通过列名方式修改数据框中的值。它的一般语法是$<-.data.frame(x, name, value),其中:
    • x是要修改的数据框;
    • name是要修改的列名;
    • value是要赋给指定列的新值。

$<-.data.frame函数的表现特点:

  • 只能修改指定列的值,不能修改行;
  • 可以通过列名直接指定要修改的列。

例如,要将数据框df中列名为b的列的值修改为20,可以使用以下代码:

代码语言:R
复制

df <- data.frame(a = 1:3, b = 4:6)

df$b <- 20

代码语言:txt
复制

总结起来,[<-.data.frame$<-.data.frame在修改数据框中的值时表现不同,主要是由于它们的使用方式和功能不同。[<-.data.frame可以通过索引方式实现条件修改、多个位置修改和单个位置修改,而$<-.data.frame只能通过列名方式修改指定列的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java为什么不同的返回类型不算方法重载?

本文已收录《Java常见面试题》:https://gitee.com/mydb/interview 方法重载是指在同一个类,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载...doSomething } public void method(Integer id, String name) { // doSomething } } 为什么不同返回类型不算方法重载...从方法签名的组成规则我们可以看出,方法的返回类型不是方法签名的组成部分,所以当同一个类中出现了多个方法名参数相同,但返回值类型不同的方法时,JVM 就没办法通过方法签名来判断到底要调用哪个方法了,如下图所示...: 那为什么返回类型不能做为方法签名的一部分呢?...总结 同一个类定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。方法重载的典型使用场景是 String 的 valueOf 方法,它有 9 种实现。

3.3K10

用户首次付费分析

---- 付费转化是任何一家互联网公司都必须面对的“流量-->收益”核心问题,付费问题可分为首次付费复购。 不同的产品,付费模式不同,受到的影响因素不同。...证券类收费产品,会受到外界因素如政策、大盘等影响,同时又会受到服务提供者(投顾)水平的影响,其中投顾水平是核心因素,主要表现为对投顾的判断是否精准。...分析环境: R 语言 分析代码:代码分为两部分:《关键点击建模分析》《注册支付时间差分布消费金额分布》,建议分脚本运行 《关键点击建模分析》 #####################导入模型包##...\datamining\\appkick\\" file<-paste(root,"kick-tab.txt",sep="") # 文件中有些行的产品名是包括“#”符号的,R,”#“是默认注释符号,...\datamining\\appkick\\" file<-paste(root,"kick-tab.txt",sep="") # 文件中有些行的产品名是包括“#”符号的,R,”#“是默认注释符号,

1.8K80

Apache Zeppelin R 解释器

概述 R是用于统计计算图形的免费软件环境。 要在Apache Zeppelin运行R代码可视化图形,您将需要在主节点(或您的开发笔记本电脑)上使用R。...这将确保齐柏林首次见到R解释器。 使用R解释器 默认情况下,将R解释显示为两个Zeppelin解释器,%r%knitr。 %r表现得像普通REPL。您可以像CLI中一样执行命令。 ?...星火上下文语境SQL创建并注入当地环境自动scsql。 同样的情况下与共享%spark,%sql并%pyspark解释: ? 您还可以使普通的R变量scalaPython可访问: ?...(请注意,%spark.r%r是调用同一解释的两种不同的方式,因为是%spark.knitr%knitr默认情况下,Zeppelin将R解释器放在%spark.翻译组。...为什么不ggvisshiny?支持shiny需要将反向代理集成到Zeppelin,这是一项任务。 最大的OS X不区分大小写的文件系统。

1.5K80

R语言批量读取300个Excel表格

R语言都是可以实现的。 还有一个Excel表格,有100个Sheet,想把这100个sheet表读取然后合并。...多年的工作经验告诉我,永远不要质疑,不要质疑对你提出需求的人,比如我说:“你为什么要把100个Excel表格合并到一个Excel的不同sheet?电脑能打开吗?...为什么不合并到一个sheet,然后用数据透视表查看筛选?”然后我就要两件事都要做,还要介绍Excel表如何用筛选功能。 不管怎么说,有需求就有答案。有句歌词写得特别好:“擦干泪,不要问,为什么”。...批量写入 3.1 批量写入到不同的Excel 「步骤:」 内容为list,每个元素为一个data.frame 这里,我们用re的结果: > str(re) List of 8 $ a1.xlsx:'...sheet表格 有时候重命名list更有用,比如写入到不同sheet表格,名称就是不同sheet表的名称 读取不同sheet表格时,可以用1,2,3表示对应的sheet 另外,如果想把批量读取的Excel

1.4K21

Day6-蓝色柠檬

今天的任务是学习R包。以dplyr包的安装加载使用为例进行学习,因为R包之间的使用是相通的,掌握了一个,后面的可以通过具体代码的学习进行使用。...# options函数就是设置R运行过程的一些选项设置options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #...tidyversetest %>% group_by(Species) %>% summarise(mean(Sepal.Length), sd(Sepal.Length))哪些报错了,哪些目前可以使用,加载时展示出来...为依据进行数据提取结果如下:4.3全连full_joinfull_join( test1, test2, by = 'x') #把数据全部展示出来,同时能够从x处找到交集的放在上面,不能找到的放在下面,但是要都表现出来...z = c(100,200,300,400)) #给test1/2/3赋值,此时的test1/2与上面操作的就不同了bind_rows(test1, test2) #需要两个表格列数相同bind_cols

21220

R 数据分析

目录: windows命令行执行R dataframe 常用函数、变量 1、windows命令行执行R 前提:已经把R的命令目录加入了系统路径。  ...windows,命令行执行R可以用以下两种方式: (1)RCMD BATCH xxx.r 这种方式也可以写成”r cmd BATCH“、”rcmd BATCH“、”R CMD BATCH“,这几个命令都是一样的...,随便你用哪个 这种方式的输出结果不是直接显示命令行,而是会在r文件相同路径下,自动创建一个xxx.r.Rout文本文件,输出的内容在这个文件里 但是这种方式用commandArgs()函数得不到传递的参数...(2)Rscript xxx.r 这种方式的输出结果直接显示命令行,不会生成其他输出文件 这种方式可以用commandArgs()函数得到传递的参数 但是得到参数的索引由函数的trailingOnly...in data.frame(..., check.names = FALSE) : 参数值意味着不同的行数: 4, 3 rbind 行连接 > rbind(df, data.frame(one_t

1.4K20

R语言数据集合并、数据增减、不等长合并

数据选取与简单操作: which 返回一个向量中指定元素的索引 which.max 返回最大元素的索引 which.min 返回最小元素的索引 sample 随机向量抽取元素 subset 根据条件选取元素...', 'q') # 主要是区分使用sepcollapse b = paste(a, names(a), sep = "/") #不同向量合并在一起,但是还是各自向量 c = paste...(b, collapse = ",") #不同向量合并在一起,但是变成一个向量 mode(b) #变量类型 mode(c) 4、cbindrbind函数 cbind()rbind...相比来说,其他一些方法要好一些,有dplyr,sqldf的union 5、sqldf包 利用SQL语句来写,进行数据合并,适合数据库熟悉的人,可参考: R语言︱ 数据库SQL-R连接与SQL语句执行...包的rbind.fill函数(合并的数据,必须是data.frame),do.call可以用来批量执行。

13.2K12

r」dplyr 里的 join 与 base 里的 merge 存在差异

今天使用连接操作时发现:虽然都是合并操作函数,dplyr 包里的 *_join() 基础包里面的 merge() 存在差异,不同的数据结构,结果也会存在偏差。...相同的数据,不同的操作函数存在差异 进行连接操作时,我们会发现 dplyr 的结果会报错!...r4 r1 r3 r2 #> 1 S1 S2 S2 S1 S1 #> 2 S2 S1 S1 S2 S2 看起来似乎有点不可理喻,但实际上上面我构造的数据集是有点特别的:前 2 个子集第 3 个子集是没有可以连接的列的...本质上是 data.table 体格的泛型函数不支持类似基础包的操作。 如何编写代码支持对上述数据集的连接操作?...一般工作情况下,不同的数据子集都存在可以连接的列,所以无论上述哪种方法都可以胜任工作。

1.6K30

R语言分析《我是歌手》出场顺序与名次的关系

当然,这篇文章的主旨不在此,我们要看的如题《我是歌手》节目中,出场顺序名词的关系。关系肯定是有的,节目里自己都说到了,出场顺序很重要,这里我想用R来尝试分析这其中的细节关系。...换个方式,查看得票率出场次序的关系。...线性回归方式尝试找出其中关系 第一部分气泡图的基础上做。...Residual standarderror:标准残差 Multiple R-squared :R^2值 Adjusted R-squared:调整R^2值,跟R^2值一样都是0-1的范围内,越接近1...歌手的平均得票率 这里是把歌手的平均得票率计算出来,求其平均得票率,可以看出哪个歌手的整体表现比较好。与主题无关,只是一个小的统计。结果可以看到,林志炫稳居榜首,所以?你自己领会就好!

77380

Pandas 2.2 中文官方教程指南(三)

R CRAN 库的比较,我们关心以下几点: 功能性/灵活性:每个工具可以/不可以做什么 性能:操作有多快。... R ,您可能希望获取data.frame的行,其中一列的值小于另一列的值: df <- data.frame(a=rnorm(10), b=rnorm(10)) subset(df, a...cast R ,acast 是使用名为 df 的 data.frame 来转换为更高维数组的表达式: df <- data.frame( x = runif(12, 1, 168)...with R 中使用名为df的数据框(data.frame列ab的表达式将使用with进行评估,如下所示: df <- data.frame(a=rnorm(10), b=rnorm(10...这些函数围绕 R 的三种数据结构展开,a 代表 arrays,l 代表 lists,d 代表 data.frame。下表显示了这些数据结构 Python 的映射方式。

17400

pheatmap|暴雨暂歇,“热图”来袭!!!

热图可以聚合大量的数据,并可以用一种渐进色来优雅地表现,可以很直观地展现数据的疏密程度或频率高低。 本文利用R语言 pheatmap 包从头开始绘制各种漂亮的热图。...参数像积木,拼凑出你最喜欢的热图即可,如下图: 基因样本都可以单独聚类,排序,聚类再分组,行列注释,配色调整,调整聚类线以及单元格的宽度高度均可实现。 ?...载入数据,R包 #R包 library(pheatmap) # 构建测试数据 set.seed(1234) test = matrix(rnorm(200), 20, 10) test[1:10,...(test[order_row,order_col]) # 将行名加到表格数据 result = data.frame(rownames(result),result,check.names =...R的当前工作目录下即可查看热图的结果。

1.2K10

生信代码:“热图”来袭(pheatmap)

热图可以聚合大量的数据,并可以用一种渐进色来优雅地表现,可以很直观地展现数据的疏密程度或频率高低。 本文利用R语言 pheatmap 包从头开始绘制各种漂亮的热图。...参数像积木,拼凑出你最喜欢的热图即可,如下图: 基因样本都可以单独聚类,排序,聚类再分组,行列注释,配色调整,调整聚类线以及单元格的宽度高度均可实现。 ?...载入数据,R包 #R包 library(pheatmap) # 构建测试数据 set.seed(1234) test = matrix(rnorm(200), 20, 10) test[1:10,...基本参数 # scale = "row"参数对行进行归一化 # clustering_method参数设定不同聚类方法,默认为"complete",可以设定为'ward', 'ward.D', 'ward.D2...(test[order_row,order_col]) # 将行名加到表格数据 result = data.frame(rownames(result),result,check.names =

6K31

(数据科学学习手札38)ggplot2基本图形简述

abline()、hline()与vline()   R的基础绘图系统我们可以已绘制的图床上通过abline来添加线条,ggplot2当然也有类似的方法: geom_abline():   ...= 'bottom')+ labs(title='堆积面积图')+ theme(plot.title = element_text(hjust=0.5)) h   这样得到的图就比较具有美感表现力...,我们先从一维的说起: geom_density():   R基本绘图系统的密度曲线绘制方法很接近: library(ggplot2) data <- data.frame(matrix(rnorm...,箱线图是非常有代表性的,它通过图形表现五数概括的情况,在数据基本的描述性统计具有重要意义,而ggplot2必然可以绘制箱线图,而且可以绘制得非常精美,下面先看一个最朴素的分组箱线图形式: p <-...()了,下面以不同的示例来说明其常见用法: 用对应每一个样本的文本标签代替散点: p <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars)))

5.1K20

R」apply,lapply,sapply用法探索

但是,由于R语言中apply函数与其他语言循环体的处理思路是完全不一样的,所以apply函数族一直是使用者玩不转一类核心函数。...apply函数本身就是解决数据循环处理的问题,为了面向不同的数据类型,不同的返回值,apply函数组成了一个函数族,包括了8个功能类似的函数。这其中有些函数很相似,有些也不是太一样的。 ?...我一般最常用的函数为applysapply,下面将分别介绍这8个函数的定义使用方法。 2. apply函数 apply函数是最常用的代替for循环的函数。...3. lapply函数 lapply函数是一个最基础循环操作函数之一,用来对list、data.frame数据集进行循环,并返回X长度同样的list结构作为结果集,通过lapply的开头的第一个字母’...参数列表: X:list、data.frame数据 FUN: 自定义的调用函数 …: 更多参数,可选 比如,计算list的每个KEY对应该的数据的分位数。

4.5K32
领券