R-$和@符号的意义

R-$和@符号的意义

R语言中,

$表示从一个dataframe中取出某一列数据

@是从R的类实例里面读取数据,bg=x@colors b g . c o l 就 是 从 对 象 实 例 x 中 取 出 c o l o r s , 而 这 个 c o l o r s 本 身 又 是 个 d a t a f r a m e , 所 以 需 要 进 一 步 用 bg.col就是从对象实例x中取出colors,而这个colors本身又是个dataframe,所以需要进一步用 bg.colxcolorscolorsdataframe读取bg.col列。

#列表,更像java中的map
e<-list(thing=“hat”,size=“8.25”)
e
$thing
[1] “hat”

$size
[1] “8.25”

e t h i n g [ 1 ] &quot; h a t &quot; e thing [1] &quot;hat&quot; e thing[1]"hat"esize
[1] “8.25”
e[1]
$thing
[1] “hat”

e[[1]]
[1] “hat”

str用来告诉结果的构成方式,对于不少Bioconductor的包,或者复杂的R函数的输出,都是一堆列表的嵌套,str(complex_result)会输出每个列表的名字,方便提取对应的信息。

利用str查看pca的结果,具体的PCA应用查看http://mp.weixin.qq.com/s/sRElBMkyR9rGa4TQp9KjNQ

pca_result <- prcomp(expr)
pca_result
Standard deviations:
[1] 4.769900e+00 1.790861e+00 1.072560e+00 1.578391e-01 2.752128e-16

Rotation:
PC1 PC2 PC3 PC4 PC5
Gene_a 0.99422750 -0.02965529 0.078809521 0.01444655 0.06490461
Gene_b 0.04824368 -0.44384942 -0.885305329 0.03127940 0.12619948
Gene_c 0.08258192 0.81118590 -0.451360828 0.05440417 -0.35842886
Gene_d -0.01936958 0.30237826 -0.079325524 -0.66399283 0.67897952
Gene_e -0.04460135 0.22948437 -0.002097256 0.74496081 0.62480128

str(pca_result)
List of 5
$ sdev : num [1:5] 4.77 1.79 1.07 1.58e-01 2.75e-16
$ rotation: num [1:5, 1:5] 0.9942 0.0482 0.0826 -0.0194 -0.0446 …
…- attr(, “dimnames”)=List of 2
… …$ : chr [1:5] “Gene_a” “Gene_b” “Gene_c” “Gene_d” …
… …$ : chr [1:5] “PC1” “PC2” “PC3” “PC4” …
$ center : Named num [1:5] 8 1.229 3 0.379 0.243
…- attr(
, “names”)= chr [1:5] “Gene_a” “Gene_b” “Gene_c” “Gene_d” …
$ scale : logi FALSE
$ x : num [1:5, 1:5] -6.08 1.86 3.08 5.06 -3.93 …
…- attr(*, “dimnames”)=List of 2
… …$ : chr [1:5] “A” “B” “C” “D” …
… …$ : chr [1:5] “PC1” “PC2” “PC3” “PC4” …

  • attr(*, “class”)= chr “prcomp”

取出每个主成分解释的差异

pca_result$sdev
[1] 4.769900e+00 1.790861e+00 1.072560e+00 1.578391e-01 2.752128e-16

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java,美元符号 `$` 有以下几个应用和意义: 1. 用于命名变量或标识符:在Java,美元符号 `$` 可以用作变量或标识符的一部分,用于命名。例如: ```java int $variable = 10; String my$String = "Hello"; ``` 这里的 `$variable` 和 `my$String` 都是合法的变量名。 2. 内部类的命名:在Java,内部类的命名遵循一定的规则,其美元符号 `$` 用于分隔内部类和外部类的名称。例如: ```java public class OuterClass { public class InnerClass { // 内部类的定义 } } ``` 在这个例子,`OuterClass$InnerClass` 是内部类 `InnerClass` 的全名。 3. 自动生成的类或方法名:有些情况下,编译器或IDE会自动生成一些类或方法,并使用美元符号 `$` 进行命名。这些自动生成的类或方法通常与匿名内部类、Lambda 表达式或编译器生成的辅助类相关。例如: ```java Runnable r = new Runnable() { @Override public void run() { // 实现 Runnable 接口的匿名内部类 } }; List<String> list = new ArrayList<>() {{ add("A"); add("B"); }}; ``` 在这些情况下,编译器或IDE可能会生成类似 `OuterClass$1`、`Main$lambda$1` 这样的类名。 总的来说,美元符号 `$` 在Java主要用于命名变量或标识符、分隔内部类和外部类的名称,以及表示自动生成的类或方法。在一般的开发,我们很少直接使用美元符号 `$`,而是根据Java命名规范,使用字母、数字和下划线来命名变量和类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值