需要对特定 R 代码片段的解释
Posted
技术标签:
【中文标题】需要对特定 R 代码片段的解释【英文标题】:Need an explanation for a particular R code snippet 【发布时间】:2015-06-18 17:28:09 【问题描述】:以下是我需要解释的代码:
for (i in id)
data <- read.csv(files[i] )
c <- complete.cases(data)
naRm <- data[c, ]
completeCases <- rbind(completeCases, c(i, nrow(naRm)))
据我了解,这里的变量 c 存储多个逻辑值。后面的那一行,对我来说似乎很陌生。 data[c, ]
是如何工作的?
仅供参考,我是 R 新手。
【问题讨论】:
你永远不应该将变量命名为c
,因为它也是this非常重要的函数的名称。
您所说的那一行 (naRM
@MichaelKaiser 它是怎么做到的?我的意思是data[c, ]
是如何工作的?
c
拥有一个由TRUE
/FALSE
值组成的向量。因此,使用 c 对数据行进行索引会提取 TRUE
值,指示行没有 NA 值。然后下一行只是用nrow
计算这些值。使用completeCases <- c(completeCases, sum(complete.cases(data)))
可以更轻松地完成此操作
是的,cr1msonB1ade 比我快!!
【参考方案1】:
complete.classes 查找所有“完整”的行,没有缺失值。这是man page。因此,completeCases 对象将告诉您刚刚读取的每个文件中“完整”行的数量。你真的不需要在 rbind 调用中存储 i 的值,因为它只是行号,所以它是多余的。对于此应用程序,向量就可以了。
您似乎还缺少一个右括号,或者这不是完整的代码块。
【讨论】:
以上是关于需要对特定 R 代码片段的解释的主要内容,如果未能解决你的问题,请参考以下文章
append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]