如何使用R从csv中消除数据(年)

pcrecxhr  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(116)

我正在使用R Studio处理CSV文档。我有2008年到2018年的数据,但我想从dataframe中删除2008,2009和2018,以便查看结果如何变化。我尝试了以下代码,但它不起作用:

base.final <- merge(x=base.final, y=base.dividendos, by = c('Ativo',"Data"), 
                    all.x = TRUE, all.y = FALSE)

table(is.na(base.final$SETORES_NEFIN))/12

#eliminating years from the data base
base.final <- base.final[base.final$Data!="2008","2009", "2018",]

出现的错误:[.data.frame(base.final,base.final$Data!=“2008”,“2009”,:未使用的参数(alist())
这是一个来自股票的数据库,我需要从数据库中删除一些代码。我应该使用哪段代码?我正在使用dplyr。
我试着把最后一个逗号改了,但没有成功。我还在学习这门语言。

vmdwslir

vmdwslir1#

根据TheN的评论。你必须将你测试的年份作为一个向量包含在c()中才能工作,而且!=是一个逻辑比较器,它检查一个向量是否与另一个相同。你想要检查的是你在向量中给予的年份是否在Data中的某个地方。
==/!=%in%之间的区别可能有点难以理解,但https://stackoverflow.com/a/42637469/4574789很好地解释了这一点。
在寻求帮助时,最好包括一个可重复的示例,这样那些提供帮助的人就可以实际编写有机会在您的用户案例中工作的代码。
我不知道你的数据包含什么或它的结构,但假设:

base.final <- data.frame(SETORES_NEFIN = c("Guaraná", 
                                           "Rubberduck", 
                                           "Mexico cartel", 
                                           "Sugartown"),
                     Data = c("2008", "2009", "2010", "2018"))

# A subset of the data excluding some years
subset(base.final, !Data %in% c("2010", "2008))

相关问题