嗨,这是一个初学者的问题!我需要一些关于覆盖特定包机标签的帮助,基于Class-column的值。
如果Class-column中的标签显示" Sport"体育级的价值。请参阅下面的示例。
我尝试使用ifelse
声明:
DF$Class<-ifelse((DF$Class %in% "Sport"), DF$SportClass, DF$Class)
我有两列,而我想要的输出是&#34;列:期望&#34;
ID: Class: SportClass: | (Expetions)
1 Movie Hockey | Movie
2 Seriers Fotboll | Series
3 Movie Tennsi | Movie
4 Sport Golf | Golf
有人可以帮助我吗?
答案 0 :(得分:1)
确保您使用的是数据框的正确列名,并且您的变量不是因素,因为这些级别不匹配且您的流程会中断。
使用以下数据框
DF = read.table(text = "
ID Class SportClass
1 Movie Hockey
2 Seriers Fotboll
3 Movie Tennsi
4 Sport Golf
", header=T, stringsAsFactors=F)
我可以成功更新变量/列Class
# dataset before
DF
# ID Class SportClass
# 1 1 Movie Hockey
# 2 2 Seriers Fotboll
# 3 3 Movie Tennsi
# 4 4 Sport Golf
# update variable
DF$Class <- ifelse(DF$Class %in% "Sport", DF$SportClass, DF$Class)
# dataset after
DF
# ID Class SportClass
# 1 1 Movie Hockey
# 2 2 Seriers Fotboll
# 3 3 Movie Tennsi
# 4 4 Golf Golf
请注意,您不必在DF$Class %in% "Sport"
附近使用括号,并且在这种情况下您也可以使用DF$Class == "Sport"
。