R 从另一个向量创建表列

R 从另一个向量创建表列,r,vector,R,Vector,有人能提供从R中的另一个向量创建新表列的建议吗 我有一个名为“main”的表,其中包含测试类型和测试数量。我想创建一个新列来分配测试值 Test Type Number of Tests Test Value a 1 b 4 c 3 d 2 测试值按顺序存储在另一个向量x中,如何: library("dp

有人能提供从R中的另一个向量创建新表列的建议吗

我有一个名为“main”的表,其中包含测试类型和测试数量。我想创建一个新列来分配测试值

Test Type    Number of Tests    Test Value
    a               1               
    b               4   
    c               3
    d               2
测试值按顺序存储在另一个向量x中,如何:

library("dplyr")
main = data.frame(test_type = letters[1:4],
                  num_tests = c(1,4,3,2),
                  stringsAsFactors = FALSE)
test_scores = c(0.1, 0.2, 0.2, 0.3, 0.2, 0.6, 0.5, 0.6, 1.2, 1.3)
labels = c()
for(i in 1:nrow(main)){
  labels = c(labels, rep(x = main$test_type[i], times = main$num_tests[i] ))
}

test_scores = data.frame(scores = test_scores,
                         test_type = labels) %>% 
  group_by(test_type) %>% 
  summarise(avg_score = mean(scores)) %>% 
  right_join(main)

为什么使用for循环?rep也适用于向量<代码>标签组。谢谢。
library("dplyr")
main = data.frame(test_type = letters[1:4],
                  num_tests = c(1,4,3,2),
                  stringsAsFactors = FALSE)
test_scores = c(0.1, 0.2, 0.2, 0.3, 0.2, 0.6, 0.5, 0.6, 1.2, 1.3)
labels = c()
for(i in 1:nrow(main)){
  labels = c(labels, rep(x = main$test_type[i], times = main$num_tests[i] ))
}

test_scores = data.frame(scores = test_scores,
                         test_type = labels) %>% 
  group_by(test_type) %>% 
  summarise(avg_score = mean(scores)) %>% 
  right_join(main)