R 使用colSums(DF)中的特定值创建向量
我有以下建议:R 使用colSums(DF)中的特定值创建向量,r,vector,R,Vector,我有以下建议: > str(fngr_rain) 'data.frame': 80 obs. of 9 variables: $ CRP: int 0 0 0 0 0 0 0 0 0 0 ... $ CRO: int 0 0 0 0 0 0 0 0 0 0 ... $ EPR: int 1 1 0 0 1 1 1 1 1 0 ... $ EPO: int 1 1 1 1 1 1 1 1 1 1 ... $ ARB: int 0 0 0 0 0 0 0 0 0 0
> str(fngr_rain)
'data.frame': 80 obs. of 9 variables:
$ CRP: int 0 0 0 0 0 0 0 0 0 0 ...
$ CRO: int 0 0 0 0 0 0 0 0 0 0 ...
$ EPR: int 1 1 0 0 1 1 1 1 1 0 ...
$ EPO: int 1 1 1 1 1 1 1 1 1 1 ...
$ ARB: int 0 0 0 0 0 0 0 0 0 0 ...
$ OPP: int 1 0 1 1 1 1 1 1 0 1 ...
$ AAT: int 0 0 0 0 0 0 0 0 0 0 ...
$ LCA: int 1 0 0 0 0 0 0 0 0 0 ...
$ ATN: int 0 0 0 0 0 0 0 0 0 0 ...
我想创建一个函数,它生成这个DF的列和向量。问题是:我需要向量只有大于4的列和的值。因此,与此相反:
> colSums(fngr_rain)
CRP CRO EPR EPO ARB OPP AAT LCA ATN
3 0 48 80 3 51 1 25 0
我想要以下向量:
> vector1 <- c("EPR" = 48, "EPO" = 80, "OPP" = 51, "LCA" = 25)
> vector1
EPR EPO OPP LCA
48 80 51 25
编辑:
它返回一个带有向量的列表。然后,我可以使用unlist()获取向量(如注释所示)
但是,我仍然希望向量存储在对象中。我尝试在函数中这样做,但我创建的“my_vec”对象没有返回向量:
> my_vec
[1] 0
感谢您的帮助 也许吧
colSums(fngr_rain)[colSums(fngr_rain)>4]
为什么它不起作用看起来它只是给了你一个答案清单?尝试
unlist(my_-fun(fngr\u-rain)
我确实想要一个函数来将向量存储在一个对象中…但我想我可以这样做,谢谢。要将向量存储为对象;ResultsResults
现在将是包含列和的对象
> my_vec
[1] 0
colSums(fngr_rain)[colSums(fngr_rain)>4]