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)
我确实想要一个函数来将向量存储在一个对象中…但我想我可以这样做,谢谢。要将向量存储为对象;
Results
Results
现在将是包含列和的对象
> my_vec
[1] 0
colSums(fngr_rain)[colSums(fngr_rain)>4]