r - 试图理解另一个人的 R 代码的新手
问题描述
我是一名本科生,试图从根本上重新创建别人的研究,并且现在我无法理解以下代码行:
temp_data[, fips := paste0(sprintf("%02d", STATEFP), sprintf("%03d", COUNTYFP))]
temp_data 是从 csv 中读取的,是一个“data.table”“data.frame”,我正在阅读它,或者......开始这一切的错误消息:
Error in paste0("%02d", STATEFP) : object 'STATEFP' not found
我已经查看了 paste0 和 sprintf,目前我认为代码行正在尝试创建 STATEFP,并且在 sprintf 解释 fips 代码之后使用 paste0 从 temp_data 中创建 COUNTYFP 但是它需要...
这是 temp_data 的样子:
任何可以帮助我弄清楚这里发生了什么的建议将不胜感激。如果有帮助的话,我在 x86_64-apple-darwin17.0 上使用 R 4.0.1。
解决方案
感谢您提供非常有帮助的屏幕截图。
sprintf 本质上返回一个包含文本和变量值的向量。看起来 STATEFP 和 COUNTRYFP 必须在代码的前面定义,很可能是向量。这行代码使用这些向量以某种方式过滤数据,但如果不知道 STATEFP 和 COUNTRYFP 是什么,我不能说如何。
推荐阅读
- javascript - 为什么 onInput 不是函数?关于 useEffect() 的问题
- git - Git PhpStorm - 无法关闭提交对话框
- android - 支持在一台计算机上运行的 Android 模拟器/端口范围的最大数量是多少
- python - 在 tkinter 中插入列表值作为信息文本,但使用 \n 分隔符
- hash - 彩虹桌和开膛手约翰
- python - 内部类覆盖类属性
- php - Laravel 表单:哎呀,好像出了点问题
- angular - 如何使用 post 参数重定向到外部 url?
- c++ - emscripten 链接全局变量命名符号多次定义
- mysql - 存储在表字段中重复的多个值