R 如何用字符串定义新对象的名称?
我想定义一个字符串R 如何用字符串定义新对象的名称?,r,function,naming,base,data-manipulation,R,Function,Naming,Base,Data Manipulation,我想定义一个字符串 string<- "modelName" string正如@Spacedman所指出的,这通常不是做事的方式,但您可以使用assign string<- "modelName" assign(string, mtcars) > head(modelName) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 1
string<- "modelName"
string正如@Spacedman所指出的,这通常不是做事的方式,但您可以使用assign
string<- "modelName"
assign(string, mtcars)
> head(modelName)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
字符串头(modelName)
mpg气缸显示hp drat wt qsec与am齿轮carb
马自达RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4
马自达RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 4 1
大黄蜂4路21.46258110 3.083.21519.441031
大黄蜂运动约18.7 8 360 175 3.15 3.440 17.02 0 3 2
英勇18.16 225 105 2.76 3.460 20.22 1 0 3 1
一般来说,最好使用列表之类的内容:
x <- list()
x[[string]] <- mtcars
> head(x$modelName)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
x您可以使用assign
。所以assign(string,mtcars)
。当我这么做的时候(注意这是FAQ 7.21,其中最重要的部分是它说不要这样做的结尾(正如@jdharison所指出的答案),我很高兴不知道为什么它可能在大的计划中是坏的:)涵盖了这个问题
x <- list()
x[[string]] <- mtcars
> head(x$modelName)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1