假设我有一系列数据框或矩阵x1,x2,x3 ......等,例如
> x1
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
V1 -0.5824644 -0.17 -0.23 0.26 -0.13 -0.25 -0.34 0.82 -1.93 -0.31 -0.40 -3.02
V2 -1.7916906 -0.16 -0.24 0.01 -0.12 -0.29 -0.38 0.68 -2.48 -0.46 -0.60 -3.62
V3 1.9726578 -0.87 -0.91 2.17 -0.79 -2.52 -1.23 5.35 -19.62 0.40 0.27 -7.86
V4 -0.5824644 -0.14 -0.19 -0.36 -0.17 -0.23 -0.32 0.40 -0.14 -0.34 -0.45 -2.85
V5 -1.7916906 -0.15 -0.20 -0.46 -0.22 -0.27 -0.34 0.93 -0.28 -0.63 -0.62 -3.65
V6 1.9726578 -0.37 -0.46 -0.46 -0.26 -1.14 -0.58 2.81 -1.05 0.39 -0.34 -5.48
> x2
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
V1 -0.5824644 -0.19 -0.24 0.19 -0.27 -0.27 -0.40 0.76 -2.51 -0.45 -0.50 -3.80
V2 -1.7916906 -0.14 -0.21 0.06 -0.15 -0.24 -0.33 0.61 -2.06 -0.31 -0.43 -2.92
V3 1.9726578 -0.81 -0.88 2.38 -0.27 -2.12 -1.11 4.56 -14.94 1.75 0.19 -6.27
V4 -0.5824644 -0.13 -0.18 -0.21 -0.18 -0.25 -0.29 0.20 -0.30 -0.46 -0.42 -2.71
V5 -1.7916906 -0.12 -0.20 -0.37 -0.21 -0.23 -0.36 0.52 -0.28 -0.68 -0.63 -3.88
V6 1.9726578 -0.33 -0.39 -0.40 -0.28 -0.95 -0.52 2.25 -1.27 0.16 -0.23 -5.29
> x3
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
V1 -0.5824644 -0.14 -0.22 -0.02 -0.22 -0.27 -0.35 0.56 -2.06 -0.39 -0.45 -3.32
V2 -1.7916906 -0.15 -0.20 0.08 -0.22 -0.24 -0.33 0.45 -2.19 -0.38 -0.41 -2.98
V3 1.9726578 -0.53 -0.58 1.39 -0.69 -1.23 -0.81 2.90 -11.02 0.96 -0.09 -5.30
V4 -0.5824644 -0.14 -0.19 -0.38 -0.17 -0.24 -0.31 0.43 -0.22 -0.49 -0.52 -2.96
V5 -1.7916906 -0.13 -0.22 -0.35 -0.25 -0.32 -0.43 1.01 -0.36 -0.55 -0.59 -3.71
V6 1.9726578 -0.25 -0.33 -0.33 -0.22 -0.90 -0.54 2.42 0.08 -1.19 -0.25 -4.04
我需要访问和操作不同的数据帧/矩阵,具体取决于整数变量i - 1,2,3 ......等的值。我在网上发现了许多类似的问题,但似乎所有的解决方案涉及assign
,数据帧/矩阵由硬编码分配。这对我不起作用,因为我从文本文件中读取了我的数据。我也试过像
master_df = list(x1,x2,x3)
但我无法按行或列操作各个数据框。
master_df[1]
返回第一个数据框,但是
master_df[1][,1]
不能工作。
在Perl或Python中,我会连接两个变量来获取第三个变量的名称。在R中,这似乎不起作用;我得到一个字符串文字。即,在Perl或Python中,我会连接' x'和1得到x1,我可以根据需要操作,但在R中我最终得到" x1"我无法做任何事情。这似乎是一个微不足道的问题,我现在可以解决一段时间,尽管广泛的谷歌搜索。我错过了什么或发生了什么事?
答案 0 :(得分:3)
要索引列表,请使用双方括号([[]]
)。使用单方括号(data.frame
)索引[]
。
例如:master_df[[1]][, 1]
将返回列表master_df
中第一个元素的第一列的所有行