使用R中的for循环创建向量并将其命名为该行的第一列

时间:2019-03-05 01:46:10

标签: r vector rename

我正在尝试在数据帧上逐行迭代并创建向量。那真的不是问题。发生的是,我需要根据每一行第一列中的字符串为每个向量命名。

      Eng_Vowel Mean_Eng_F1 Mean_Eng_F2
1     Eng_i   -4.806034    5.260754
2     Eng_I   -3.834577    4.272719
3     Eng_u   -4.882196    2.589861
4     Eng_E   -2.724496    3.091326
5     Eng_A   -1.812763    0.886462
6     Eng_a   -1.324149    3.283093

我第一步是创建向量的循环:

for (row in 1:nrow(df)) {
  x <- as.numeric(df[row,2:3])
  }

现在它会继续覆盖x,但是我的想法是我希望x为每一行的列1的名称,以便将-4.806034 5.260754存储在向量Eng_i中,依此类推。

如果有人有任何想法,将不胜感激。

1 个答案:

答案 0 :(得分:0)

列出所需的向量,然后将其放在全局环境中:

list_of_vectors = split(df[2:3], df$Eng_Vowel)
list2env(list_of_vectors, envir = .GlobalEnv)