【问题标题】:R string to objectR字符串到对象
【发布时间】:2013-02-18 15:13:13
【问题描述】:

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

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

请指教,非常感谢

【问题讨论】:

  • 您提供的代码返回了什么?你希望它返回什么?你能提供一个完整的例子吗?
  • Justin-Just 提出了一个 TRUE 和 FALSE 的列表,这基本上是正确的——尽管我想要 TRUE 的值。
  • Count_Return1[Count_Return1 > 0] 将返回值 > 0。
  • 没有必要在这件事上标记我..
  • 请注意,@user1317221 的回答,您称之为“只是索引”,与 Arun 的回答完全相同。尝试使用一些示例数据来查看!

标签: r


【解决方案1】:

我想你正在寻找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 &gt; 0] 会做同样的工作。

但如果你想要索引而不是值,那么使用:

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

【讨论】:

  • 本比特无根据的评论。
  • 谢谢@JoshO'Brien 是的,我在#comments 里有过,也许我应该让它们更清楚
  • 感谢用户所做的努力,尽管这只是索引。
  • 不确定你所说的“只是索引”是什么意思。这可以满足您在问题中提出的要求。也许如上所述,您应该提供Count_Return1 的外观和预期的输出...
【解决方案2】:

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

(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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-02
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多