I have the following character list:
$`1`
[1] "TEMP_sim_zone1_cell_1_5_"
$`5`
[1] "TEMP_sim_zone1_cell_1_5_"
$`6826`
[1] "TEMP_sim_zone338_cell_6826_"
$`9888`
[1] "TEMP_sim_zone615_cell_9888_9890_9895"
$`9890`
[1] "TEMP_sim_zone615_cell_9888_9890_9895"
$`9892`
[1] "TEMP_sim_zone614_cell_9892"
$`9895`
[1] "TEMP_sim_zone615_cell_9888_9890_9895"
From this, I want to create this matrix (nrow=7, ncol=2):
1 1
5 2
6826 1
9888 1
9890 2
9892 1
9895 3
For example, cells 9888, 9890 and 9895 should be read in file "TEMP_sim_zone615_cell_9888_9890_9895". 9888 is in position 1, 9890 in position 2 and 9895 in position 3 (this information should be taken from the position of the cells in the filename).
Can someone help me?
Here's another way, where temp
is your list (simplified by @Thomas's advice)
temp2 <- mapply(match, names(temp), strsplit(gsub("^.*\\cell_", "", temp), "_"))
temp2 <- cbind(as.numeric(names(temp2)), as.numeric(temp2))
# [,1] [,2]
# [1,] 1 1
# [2,] 5 2
# [3,] 6826 1
# [4,] 9888 1
# [5,] 9890 2
# [6,] 9892 1
# [7,] 9895 3