У меня вопрос по использованию пасты в R
a<-c(1,2,3,5,5,6,7,8)
b<-c(2,3,5,6,2,3,6,7)
d<-c(2,8,4,6,3,7,3,5)
df<-data.frame(a,b)
cbind(df,sugar=d)
Используя приведенный выше код, я получил следующее:
> a b sugar
1 1 2 2
2 2 3 8
3 3 5 4
4 5 6 6
5 5 2 3
6 6 3 7
7 7 6 3
8 8 7 5
Однако мне интересно, почему я не смог получить те же результаты с помощью функции вставки:
name<-c("sugar","salt","fat")
cbind(df,paste(name[1])=d)
Любая помощь приветствуется!!
paste(name[1])=d
и ожидать, что синтаксический анализатор построит имя R из значения символа R с целью присвоения. Однако есть функцияassign
, которая позволит вам это сделать, но только в том случае, если в результате вставки будет получено простое символьное значение, а не выражение, которое требует дальнейшей оценки. - person IRTFM   schedule 30.10.2014