将行保存到 R 中的变量中

Saving rows into variables in R

我有一个 18×48 矩阵。 有没有办法将 18 行中的每一行自动保存在单独的变量中(例如,从 r1 到 r18)?

result <- data.frame(t(mat))
colnames(result) <- paste("r", 1:18, sep="")
attach(result)

你的矩阵是mat

我绝对建议不要将 data.framematrix 拆分为其组成行。如果我绝对必须将行分开,我会将它们放在 list 中,然后从那里开始操作。

如果你迫不及待地不得不拆分它,你可以这样做:

toy <- matrix(1:(18*48),18,48)

variables <- list()
for(i in 1:nrow(toy)){
  variables[[paste0("variable", i)]] <- toy[i,]
}

list2env(variables, envir = .GlobalEnv)

我倾向于在 for 循环之后停止并避免 list2env。但我认为这应该会给你结果。

我相信您可以 select 通过在不指定列的情况下进行索引来从数据框 d 中提取行 r:

var <- d[r,]

因此您可以使用

将所有行提取到一个变量中
var <- d[1:length(d),]

其中 var[1] 是第一行,var[2] 是第二行。等等..不确定这是否正是您要找的。为什么每行需要 18 个不同的变量?