将行保存到R

时间:2017-06-30 02:01:27

标签: r dataframe rows storing-data

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

3 个答案:

答案 0 :(得分:1)

我绝对建议不要将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。但我认为这应该会给你你的结果。

答案 1 :(得分:1)

我相信您可以通过索引从数据框d中选择行r,而不指定列:

var <- d[r,]

因此,您可以使用

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

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

答案 2 :(得分:0)

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

您的矩阵为mat