我正在编写以下函数:
for (i in 1:272){
gh[[i]]<- c(df[i, 1],df[i, 2])}
错误:找不到对象“ gh”
这是为什么?为什么会出现此错误?而我该如何纠正呢?
具有以下数据结构:
data.frame': 272 obs. of 2 variables:
$ V1: Factor w/ 17 levels "exp_var_nocorr_1",..: 1 1 1 1 1 1 1 1 1 1 ...
$ V2: Factor w/ 17 levels "exp_var_nocorr_1",..: 2 3 4 5 6 7 8 9 10 11 ...
或者这个,只是为了更加直观,这里我有前33行:
V1 V2
1 exp_var_nocorr_1 exp_var_nocorr_10
2 exp_var_nocorr_1 exp_var_nocorr_11
3 exp_var_nocorr_1 exp_var_nocorr_12
4 exp_var_nocorr_1 exp_var_nocorr_13
5 exp_var_nocorr_1 exp_var_nocorr_14
6 exp_var_nocorr_1 exp_var_nocorr_15
7 exp_var_nocorr_1 exp_var_nocorr_16
8 exp_var_nocorr_1 exp_var_nocorr_17
9 exp_var_nocorr_1 exp_var_nocorr_2
10 exp_var_nocorr_1 exp_var_nocorr_3
11 exp_var_nocorr_1 exp_var_nocorr_4
12 exp_var_nocorr_1 exp_var_nocorr_5
13 exp_var_nocorr_1 exp_var_nocorr_6
14 exp_var_nocorr_1 exp_var_nocorr_7
15 exp_var_nocorr_1 exp_var_nocorr_8
16 exp_var_nocorr_1 exp_var_nocorr_9
17 exp_var_nocorr_10 exp_var_nocorr_1
18 exp_var_nocorr_10 exp_var_nocorr_11
19 exp_var_nocorr_10 exp_var_nocorr_12
20 exp_var_nocorr_10 exp_var_nocorr_13
21 exp_var_nocorr_10 exp_var_nocorr_14
22 exp_var_nocorr_10 exp_var_nocorr_15
23 exp_var_nocorr_10 exp_var_nocorr_16
24 exp_var_nocorr_10 exp_var_nocorr_17
25 exp_var_nocorr_10 exp_var_nocorr_2
26 exp_var_nocorr_10 exp_var_nocorr_3
27 exp_var_nocorr_10 exp_var_nocorr_4
28 exp_var_nocorr_10 exp_var_nocorr_5
29 exp_var_nocorr_10 exp_var_nocorr_6
30 exp_var_nocorr_10 exp_var_nocorr_7
31 exp_var_nocorr_10 exp_var_nocorr_8
32 exp_var_nocorr_10 exp_var_nocorr_9
33 exp_var_nocorr_11 exp_var_nocorr_1
dput
结果:
structure(list(V1 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L), .Label = c("exp_var_nocorr_1",
"exp_var_nocorr_10", "exp_var_nocorr_11"), class = "factor"),
V2 = structure(c(2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L,
12L, 13L, 14L, 15L, 16L, 17L, 1L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 1L), .Label = c("exp_var_nocorr_1",
"exp_var_nocorr_10", "exp_var_nocorr_11", "exp_var_nocorr_12",
"exp_var_nocorr_13", "exp_var_nocorr_14", "exp_var_nocorr_15",
"exp_var_nocorr_16", "exp_var_nocorr_17", "exp_var_nocorr_2",
"exp_var_nocorr_3", "exp_var_nocorr_4", "exp_var_nocorr_5",
"exp_var_nocorr_6", "exp_var_nocorr_7", "exp_var_nocorr_8",
"exp_var_nocorr_9"), class = "factor")), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24",
"25", "26", "27", "28", "29", "30", "31", "32", "33"))
答案 0 :(得分:1)
在访问元素之前未分配gh
列表的代码存在问题。首先,在需要访问列表元素之前,请对其进行初始化,请参见下面的代码:
set.seed(123)
smpl <- structure(list(V1 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L), .Label = c("exp_var_nocorr_1",
"exp_var_nocorr_10", "exp_var_nocorr_11"), class = "factor"),
V2 = structure(c(2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L,
12L, 13L, 14L, 15L, 16L, 17L, 1L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 1L), .Label = c("exp_var_nocorr_1",
"exp_var_nocorr_10", "exp_var_nocorr_11", "exp_var_nocorr_12",
"exp_var_nocorr_13", "exp_var_nocorr_14", "exp_var_nocorr_15",
"exp_var_nocorr_16", "exp_var_nocorr_17", "exp_var_nocorr_2",
"exp_var_nocorr_3", "exp_var_nocorr_4", "exp_var_nocorr_5",
"exp_var_nocorr_6", "exp_var_nocorr_7", "exp_var_nocorr_8",
"exp_var_nocorr_9"), class = "factor")), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24",
"25", "26", "27", "28", "29", "30", "31", "32", "33"))
# data.simulation
df <- smpl[sample(33, 272, replace = TRUE), ]
# list memory allocation
gh <- lapply(1:272, function(x)c("", ""))
# fill-in gh
for (i in 1:272){
gh[[i]] <-c(df[i, 1],df[i, 2])}
gh[1:5]
输出:
[[1]]
[1] "exp_var_nocorr_1" "exp_var_nocorr_3"
[[2]]
[1] "exp_var_nocorr_10" "exp_var_nocorr_4"
[[3]]
[1] "exp_var_nocorr_1" "exp_var_nocorr_7"
[[4]]
[1] "exp_var_nocorr_10" "exp_var_nocorr_7"
[[5]]
[1] "exp_var_nocorr_10" "exp_var_nocorr_9"