我从R中的CSV文件导入调查数据,我想使用for循环将单元格中的句点重新分配给" NA"。对于一个调查项目,我必须这样做:
survey$q1a <- recode(survey$q1a, "'.'=NA") # csv column a
survey$q1a <- as.numeric(as.character(survey$q1a))
其中q1a
是CSV文件中的列标题,并且引用问题1,部分a(我有137列)。所以,为了进行for循环,我需要能够做到这样的事情:
for (n in 1:31){
survey$qna <- recode(survey$qna, "'.'=NA") # csv column n
survey$qna <- as.numeric(as.character(survey$qna))
}
31个项目包含a部分,这意味着我需要从survey$q1a
到survey$q31a
执行此操作。为简单起见,最好将我的列保持为qna
格式(具有讽刺意味)。我从未真正使用过R,但我有使用Python和C的经验,而且我知道我经常可以在这些语言中使用%
和%s
运算符来实现类似的目标。
有没有办法在R中执行此操作而不更改我的变量/列标签系统?