我想知道如何为变量赋值?
例如,我执行一个简单的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
有没有办法自动完成?
答案 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的值。