如何从R中的列表创建多个矩阵或数据帧?
我有这样一份清单:如何从R中的列表创建多个矩阵或数据帧?,r,list,dataframe,matrix,R,List,Dataframe,Matrix,我有这样一份清单: [[1]] [1] "Vigia" "PA" "1508209" [4] "Viseu" "PA" "1508308" [[2]] [1] "Abaetetuba" "PA"
[[1]]
[1] "Vigia" "PA" "1508209"
[4] "Viseu" "PA" "1508308"
[[2]]
[1] "Abaetetuba" "PA" "1500107"
[4] "Acara" "PA" "1500206"
[,1] [,2] [,3]
[1,] Vigia PA 1508209
[2,] Viseu PA 1508308
[,1] [,2] [,3]
[1,] Abaetetuba PA 1500107
[2,] Acara PA 1508308
我想做两个这样的矩阵:
[[1]]
[1] "Vigia" "PA" "1508209"
[4] "Viseu" "PA" "1508308"
[[2]]
[1] "Abaetetuba" "PA" "1500107"
[4] "Acara" "PA" "1500206"
[,1] [,2] [,3]
[1,] Vigia PA 1508209
[2,] Viseu PA 1508308
[,1] [,2] [,3]
[1,] Abaetetuba PA 1500107
[2,] Acara PA 1508308
我试着用
for(i in 1:2){
output[i] <- matrix(unlist(A[[i]]), ncol = 3, byrow = TRUE)
}
for(1:2中的i){
输出[i]编辑:
更正了我的答案,因此它使用了一个循环:
li <- list(c( "Vigia", "PA", "1508209", "Viseu", "PA", "1508308"),
c("Abaetetuba", "PA", "1500107", "Acara", "PA", "1500206"))
output <- list()
for(i in seq_along(li)){
output[[i]] <- matrix(li[[i]], nrow=2, byrow = TRUE)
}
output[[1]]
但是我们必须意识到矩阵只能有一种数据类型,这意味着在这种情况下,一切都将是一个字符串!请共享dput(head(your_list,2))
lappy(a,function(x)matrix(x,ncol=3,byrow=TRUE))
?几乎就是这样!但我想转换每个a[[I]]进入矩阵,在列表之外。我怎么做?
[,1] [,2] [,3]
[1,] "Abaetetuba" "PA" "1500107"
[2,] "Acara" "PA" "1500206"