作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言高效数据处理指南》(《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书)。知乎专栏:R语言数据挖掘。邮箱:huang.tian-yuan@qq.com.欢迎合作交流。
学过计算机的小伙伴,可能都会知道指针的概念(特别是C语言)。指针是内存所在的地址,详细可参考指针(编程语言中的一个对象)_百度百科。R里面可以使用pointr来进行指针的锚定,下面举个例子:
library(pointr)
myvar <- 3
ptr("mypointer", "myvar")
mypointer
## [1] 3
在上面这个步骤中,我们把myvar的地址给了mypointer,所以两个变量现在是指向一个地址。改变任意一个变量,那么另一个变量也会跟着发生变化。
myvar <- 5
mypointer
## [1] 5
mypointer <- 7
myvar
## [1] 7
在实际中,我们可以让指针指向一个数据框的某个位置,然后通过更改指针来直接对某个位置的变量进行更新,这个是有用的。具体更多的例子见参考资料,里面还包含一个更加的例子,能够让指针动态指向数据框中的内容。
参考资料:
https://topics-in-r.blogspot.com/2020/07/pointersshortcuts-in-r-with-pointr.html