我有一个名为
我想创建新的变量,用于引用年龄范围10到25、25到35、35到42和42到65岁之间人数的计数。因此,对于第一个情况,我希望执行以下操作:
这个方法可行,但我希望能够在所有范围内执行此操作,并对高度和其他变量执行相同的操作。肯定有比手动复制粘贴40次并手动更改变量名字更容易的办法!:)
我认为应该是这样的:
mydata
的R数据框,其中包含某个年龄和身高范围内的人数计数。在数据框中,我有变量mydata$ageto10
(<= 10岁的人数),mydata$ageto20
(<= 20岁的人数)等,分别对应35、42和65岁的年龄。身高也是一样(还有其他几个变量)。我想创建新的变量,用于引用年龄范围10到25、25到35、35到42和42到65岁之间人数的计数。因此,对于第一个情况,我希望执行以下操作:
mydata$age10to25 <- mydata$ageto25 - mydata$ageto10
这个方法可行,但我希望能够在所有范围内执行此操作,并对高度和其他变量执行相同的操作。肯定有比手动复制粘贴40次并手动更改变量名字更容易的办法!:)
我认为应该是这样的:
for (i in c("age", "height"))
{
for (k in c(10,20,35,42, 65))
{
assign(paste("mydata$", i, k, "to", <<next k here>>, sep=""), get(paste("mydata$", i, <<next k here>>, , sep="")) - get(paste("mydata$", i, k, , sep=""))
}
}
但是显然这样做不起作用(即使我手动填写k,似乎assign
命令也不适用于将变量名分配给当前数据。
最好的方法是什么?