我有1X2数据帧,其值为'sent1'和'sent2' .
test.df <- data.frame(sentence = c('sent1', 'sent2'))
我还有一个参考向量,其中包含2个句子和3个类别(a,b,c)组合的值 .
test.vec <- c(sent1_a = 1,
sent1_b = 0,
sent1_c = 1,
sent2_a = 0,
sent2_b = 1,
sent2_c = 1)
我想创建一个看起来像这样的新df:
output.df <- data.frame(sentence = c('sent1', 'sent2'),
a = c(1,0),
b = c(0,1),
c = c(0,1))
output.df
# sentence a b c
#1 sent1 1 0 0
#2 sent2 0 1 1
理想情况下,我想使用mutate根据我循环的相应句子从向量中选择相关值
results <- test.df %>%
mutate(a = test.vec[[paste0(sentence, '_a')]])
但是,我收到了一个错误 .
mutate_impl(.data,dots)出错:评估错误:尝试在vectorIndex中选择多个元素 .
1 回答
您可以将
test.vec
重塑为您需要的输出: