我试图返回对象的值而不是 TRUE 或 FALSE,尽管我很挣扎:到目前为止,我有一个数据列表,我可以调用返回值的列表,很好。我还想返回 > 0 的列表值。我不只想要 True 或 FALSE。然后我想对零以上的值求和....
with_Gain = (Count_Return1 > 0)
get("with_Gain")
请指教,非常感谢
我试图返回对象的值而不是 TRUE 或 FALSE,尽管我很挣扎:到目前为止,我有一个数据列表,我可以调用返回值的列表,很好。我还想返回 > 0 的列表值。我不只想要 True 或 FALSE。然后我想对零以上的值求和....
with_Gain = (Count_Return1 > 0)
get("with_Gain")
请指教,非常感谢
我想你正在寻找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
您可以像这样移动左括号:
(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