将行保存到 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.frame
或 matrix
拆分为其组成行。如果我绝对必须将行分开,我会将它们放在 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 个不同的变量?
我有一个 18×48 矩阵。 有没有办法将 18 行中的每一行自动保存在单独的变量中(例如,从 r1 到 r18)?
result <- data.frame(t(mat))
colnames(result) <- paste("r", 1:18, sep="")
attach(result)
你的矩阵是mat
我绝对建议不要将 data.frame
或 matrix
拆分为其组成行。如果我绝对必须将行分开,我会将它们放在 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 个不同的变量?