-5

我试图返回对象的值而不是 TRUE 或 FALSE,尽管我很挣扎:到目前为止,我有一个数据列表,我可以调用返回值的列表,很好。我还想返回 > 0 的列表值。我不只想要 True 或 FALSE。然后我想对零以上的值求和....

with_Gain = (Count_Return1 > 0)
get("with_Gain")

请指教,非常感谢

4

2 回答 2

2

我想你正在寻找which().

Count_Return1 <- c(3,2,-1)

Count_Return1[which(Count_Return1 > 0)]
 #[1] 3 2 
 #returns the values above 0

which()这里并不真正需要Count_Return1[Count_Return1 > 0]将做同样的工作。

但是,如果您想要索引而不是值,请使用:

which(Count_Return1 > 0)
#[1] 1 2 
#returns the index for the values above 0
于 2013-02-18T15:24:29.950 回答
0

您可以像这样移动左括号:

(with_Gain = Count_Return1 > 0)
[1] TRUE

当然,这假设您已经定义了 Count_Return1 ..

编辑

要获取对象的值,您可以执行类似的操作

   Count_Return1[Count_Return1 > 0]

并获得条件的索引

   which(Count_Return1 > 0) 

例如 :

set.seed(1234)
> Count_Return1 <- sample(c(-1,1),10,rep=T)
> Count_Return1[Count_Return1 > 0]
[1] 1 1 1 1 1 1 1
> Count_Return1 > 0
 [1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
于 2013-02-18T15:18:38.577 回答