我正在尝试从数据框(followed this)中删除一组列,但我收到了错误。
具体来说,数据框的大小(NNF.data)是34233行,有147列:
[118] "NNF.2015.03.EUR" "NNF.2015.04.EUR" "NNF.2015.05.EUR"
[121] "NNF.2015.06.EUR" "NNF.2015.07.EUR" "NNF.2015.08.EUR"
[124] "NNF.2015.09.EUR" "NNF.2015.10.EUR" "NNF.2015.11.EUR"
[127] "NNF.2015.12.EUR" "NNF.2016.01.EUR" "NNF.2016.02.EUR"
[130] "NNF.2016.03.EUR" "NNF.2016.04.EUR" "NNF.2016.05.EUR"
[133] "NNF.2016.06.EUR" "NNF.2016.07.EUR" "NNF.2016.08.EUR"
[136] "YTD.NNF.Year2005.EUR" "YTD.NNF.Year2006.EUR" "YTD.NNF.Year2007.EUR"
[139] "YTD.NNF.Year2008.EUR" "YTD.NNF.Year2009.EUR" "YTD.NNF.Year2010.EUR"
[142] "YTD.NNF.Year2011.EUR" "YTD.NNF.Year2012.EUR" "YTD.NNF.Year2013.EUR"
[145] "YTD.NNF.Year2014.EUR" "YTD.NNF.Year2015.EUR" "YTD.NNF.Year2016.EUR"
我想要做的是删除136-147中的列,或者名称中包含YTD的列。
我尝试使用
NNF.data[, grep("YTD", names(NNF.data)):= NULL]
但是我收到了错误:
Error in `[.data.frame`(NNF.data, , `:=`(grep("YTD", names(NNF.data)), :
could not find function ":="
同样,我试过
NNF.data[, which(grepl("YTD", colnames(NNF.data))):=NULL]
但是,我得到了
Error in `[.data.frame`(NNF.data, , `:=`(which(grepl("YTD", colnames(NNF.data))), :
could not find function ":="
有什么建议吗? 我确保NNF.data是一个数据框
> is.data.frame(NNF.data)
[1] TRUE
答案 0 :(得分:1)
:=
仅适用于data.table
个对象。如果您使用的是data.frame
,可以试试这个:
df = data.frame(First = c(1,2,3), AVSecond = c(3,4,5), ThirdAV = c(6,7,8), Fourth = c(10,22,2))
df = df[-c(grep("AV", colnames(df)), 4)]
这将删除其中包含'AV'
和第四列的列。输出:
First
1 1
2 2
3 3
答案 1 :(得分:0)
shouldComponentUpdate