首页 > 解决方案 > 试图理解另一个人的 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。

标签: r

解决方案


感谢您提供非常有帮助的屏幕截图。

sprintf 本质上返回一个包含文本和变量的向量。看起来 STATEFP 和 COUNTRYFP 必须在代码的前面定义,很可能是向量。这行代码使用这些向量以某种方式过滤数据,但如果不知道 STATEFP 和 COUNTRYFP 是什么,我不能说如何。


推荐阅读