如何为r中的变量赋值?

时间:2014-03-23 14:02:59

标签: r variables confidence-interval

我想知道如何为变量赋值?

例如,我执行一个简单的t.test

" One Sample t-test
data:  FirstExample
t = 19.3645, df = 599, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
90 percent confidence interval:
 0.3522468 0.4177532
sample estimates:
mean of x 
    0.385" 

我希望将较低的置信区间分配给变量:

LowerConf= 0.3522468 

有没有办法自动完成?

3 个答案:

答案 0 :(得分:2)

通常,您使用variable = value完全按照您显示的方式指定一个值。但是,您正在处理t检验的结果,其结果是更复杂的值。

您仍然可以分配t检验的结果:

result = t.test(a)

现在问题变成:如何提取置信区间(及其下限)?

您可以通过result检查names(result)存储的值:

names(result)
# [1] "statistic"   "parameter"   "p.value"     "conf.int"    "estimate"
# [6] "null.value"  "alternative" "method"      "data.name"

所以我们去了:你想要的价值是conf.int。你可以通过对结果进行子集化来获得它:

result$conf.int
# [1]  0.3522468 0.4177532
# attr(,"conf.level")
# [1] 0.95

您可以像往常一样将此值分配给变量:

lower_conf = result$conf.int[1] # 1 is lower, 2 is upper bound.

如果你需要测试的置信区间(虽然这有点奇怪),你也可以直接赋值,而不需要中间result变量:

lower_conf = t.test(a)$conf.int[1]

Check the documentation on $(可以通过?`$`在R中完成此操作)了解更多详情。

答案 1 :(得分:0)

检查R中对象的一般建议是使用str

str(a)
List of 9
 $ statistic  : Named num -5.43
  ..- attr(*, "names")= chr "t"
 $ parameter  : Named num 22
  ..- attr(*, "names")= chr "df"
 $ p.value    : num 1.86e-05
 $ conf.int   : atomic [1:2] -11.05 -4.95
  ..- attr(*, "conf.level")= num 0.95
 $ estimate   : Named num [1:2] 5.5 13.5
  ..- attr(*, "names")= chr [1:2] "mean of x" "mean of y"
 $ null.value : Named num 0
  ..- attr(*, "names")= chr "difference in means"
 $ alternative: chr "two.sided"
 $ method     : chr "Welch Two Sample t-test"
 $ data.name  : chr "1:10 and c(7:20)"
 - attr(*, "class")= chr "htest"

然后在这里,对象是一个列表,您可以使用$(在控制台中)或在脚本中使用[和/或[[进行子集化。例如:

a[['conf.int']] 

答案 2 :(得分:0)

共有三种不同的赋值运算符:其中两个具有左右形式。

运算符<-和=分配到对其进行评估的环境中。运算符<-可以在任何地方使用,而运算符=只能在顶层使用(例如,在命令提示符下键入的完整表达式中),也可以将其用作括号内的子表达式之一。

运算符<<-和->>通常仅在函数中使用,并导致在父环境中搜索要分配的变量的现有定义。如果找到了这样的变量(并且其绑定未锁定),那么将重新定义其值,否则,分配将在全局环境中进行。

x <- value
x <<- value
value -> x
value ->> x
x = value

参数 x:变量名(可能带引号)。

value:要分配给x的值。