2013-06-22 3 views
2

У меня есть следующие переменные:Как преобразовать значение переменной в строку в R?

i="QW" 

Я хотел бы определить следующее vectore с помощью I:

> c(QW=3) 
QW 
3 

Однако, когда я использую

> c(i=3) 
i 
3 

Это не работает, как вы видете. Итак, как сказать c() использовать значение i вместо с использованием caracter «i» для обозначения столбцов?

+0

Я не» Понимаете, в чем проблема? – lvarayut

+0

Я не уверен, но я думаю, вы сбиваете с толку, как работает индексация. 'tst <- c (" X "," Y "," QW "," Z "); txt [3] 'отчитывается назад« QW »Итак, вы можете создавать tst и i« на лету »и получать ответы через' tst [i] ' –

ответ

3

Один из способов будет использовать names

i <- "QW" 
dat <- c(3) 
names(dat) <- i 
+0

Это означает, что' dat' имеет значение 3 и имя QW, а не дает 'QW 'значение 3 – Henry

+4

за один раз,' setNames (c (3), "QW") ' – baptiste

+0

ok Я смог заставить его работать с вашим методом! – Wicelo

1

Способ подачи QW значение 3 будет

i <- "QW" 
eval(call("<-", as.name(i), 3)) 
QW 
4

Вы можете использовать setNames:

setNames(3, i) 
# QW 
# 3