У меня есть кадр данных в R, который возник из-за запуска некоторых статистических данных по результату расплава/литье. Я хочу добавить строку в этот фреймворк, содержащий номинальное значение. Это номинальная стоимость присутствует в названиях для каждого столбцаЕсть ли лучший (то есть векторный) способ поместить часть имени столбца в строку кадра данных в R
df<-as.data.frame(cbind(x=c(1,2,3,4,5),`Var A_100`=c(5,4,3,2,1),`Var B_5`=c(9,8,7,6,5)))
> df
x Var A_100 Var B_5
1 1 5 9
2 2 4 8
3 3 3 7
4 4 2 6
5 5 1 5
Итак, я хочу, чтобы создать новую строку, которая содержит «100» в столбце Var A_100 и «5» в Var B_5. В настоящее время это то, что я делаю, но я уверен, что для этого должен быть лучший, векторный способ.
temp_nom<-NULL
for (l in 1:length(names(df))){
temp_nom[l]<-strsplit(names(df),"_")[[l]][2]
}
temp_nom
[1] NA "100" "5"
df[6,]<-temp_nom
> df
x Var A_100 Var B_5
1 1 5 9
2 2 4 8
3 3 3 7
4 4 2 6
5 5 1 5
6 <NA> 100 5
rm(temp_nom)
Обычно у меня было бы 16-24 столбцов. Есть идеи?