数据框中带“的使用条件”;加上;R中的函数
我的数据如下所示:数据框中带“的使用条件”;加上;R中的函数,r,with-statement,R,With Statement,我的数据如下所示: manager date country gender age q1 q2 q3 q4 q5 agecat 1 1 10/24/08 US M NA 5 4 5 5 5 NA 2 2 10.28/08 US F 45 3 5 2 5 5 NA 3 3 10/1/08 UK F NA 3 5 5 5 2 NA 4 4
manager date country gender age q1 q2 q3 q4 q5 agecat
1 1 10/24/08 US M NA 5 4 5 5 5 NA
2 2 10.28/08 US F 45 3 5 2 5 5 NA
3 3 10/1/08 UK F NA 3 5 5 5 2 NA
4 4 10/12/08 UK M 39 3 3 4 NA NA NA
5 5 5/1/09 UK F 99 2 2 1 2 1 NA
现在,如果年龄>55岁,我尝试设置agecat=“Elder”。我尝试了以下两组代码,得到了不同的结果:
代码1(已工作)
leadership$agecat[leadership$age>55]首先,你的带有
表情
{
agecat[age > 55] <- "Elder"
}
在我看来,这不是一个精简的调用,你可以用
leadership$agecat <- with(leadership, replace(agecat, age > 55, "Elder"))
正如@BenBolker所指出的,transform
是另一种选择。这也会返回完整的更新数据,与
中的相同
leadership <- transform(leadership,agecat = replace(agecat, age > 55, "Elder"))
leadership 55,“长者”))
长话短说,最好还是坚持使用代码1。首先,使用表达式
{
agecat[age > 55] <- "Elder"
}
在我看来,这不是一个精简的调用,你可以用
leadership$agecat <- with(leadership, replace(agecat, age > 55, "Elder"))
正如@BenBolker所指出的,transform
是另一种选择。这也会返回完整的更新数据,与
中的相同
leadership <- transform(leadership,agecat = replace(agecat, age > 55, "Elder"))
leadership 55,“长者”))
长话短说,最好还是坚持使用代码1代码。with
为数据框创建一个环境,这样您就不需要重新键入数据框名称来访问其中的变量。在您的例子中,您创建了一个变量,但当您退出环境时它消失了。因此,正如脏袜子嗅探器所说,在
中使用,它也会创建一个环境,但会返回数据帧。因此,以下工作:
leadership <- within(leadership, agecat[age > 55] <- "Elder")
leadership 55]with
为数据框创建一个环境,这样您就不需要重新键入数据框名称来访问其中的变量。在您的例子中,您创建了一个变量,但当您退出环境时它消失了。因此,正如脏袜子嗅探器所说,在
中使用,它也会创建一个环境,但会返回数据帧。因此,以下工作:
leadership <- within(leadership, agecat[age > 55] <- "Elder")
leadership 55]如果要对连续变量进行分类,还可以查看cut()
函数。。。。当使用内的将结果分配回领导层时,不要忘记。。。或者尝试transform
…如果要对连续变量进行分类,还可以查看cut()
函数。。。。当使用内的将结果分配回领导层时,不要忘记。。。或者尝试变换
<代码>领导力55,“长者”)
欣赏提供的不同选项。一切顺利。这是很大的帮助,谢谢大家的回答<代码>领导力55,“长者”)
欣赏提供的不同选项。一切顺利。这是很大的帮助,谢谢大家的回答!!