[英]How to assign a value to a variable?
我想知道如何为变量赋值?
例如我执行一个简单的 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
有没有办法自动做到这一点?
通常,您完全按照显示的方式分配值,使用variable = value
。 但是,您正在处理 t 检验的结果,其中的结果是一个更复杂的值。
您仍然可以分配 t 检验的结果:
result = t.test(a)
现在问题变成了:如何提取置信区间(及其下限)?
您可以通过names(result)
检查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]
查看有关$
的文档(这可以通过?`$`
在 R 中完成)了解更多详细信息。
检查 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']]
存在三种不同的赋值运算符:其中两种具有向左和向右形式。
运算符 <- 和 = 分配到评估它们的环境中。 运算符 <- 可以在任何地方使用,而运算符 = 只允许在顶层(例如,在命令提示符下键入的完整表达式中)或作为花括号表达式列表中的子表达式之一。
运算符 <<- 和 ->> 通常仅用于函数中,并导致通过父环境搜索被分配变量的现有定义。 如果找到这样一个变量(并且它的绑定没有被锁定),那么它的值被重新定义,否则,赋值发生在全局环境中。
x <- value
x <<- value
value -> x
value ->> x
x = value
参数 x:a 变量名(可能被引用)。
值:要分配给 x 的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.