我有一个数据框(称之为输出),带有两个变量(x:二进制,y:具有6个级别和NA的因子)。以下是前几个观察结果:
x y
0 x4
0 Group3 or Group4
1 <NA>
0 x1
1 x2
0 Group3
1 x3
1 Group3 or Group4
1 x1
1 Group3
0 <NA>
我正在尝试构造一个新变量(让我们称之为wn),如果x = 1且y =“Group3或Group4”,则wn =“Group4”,否则保持与y中相同的值。
我尝试了以下代码,但我得到的是不对的。任何帮助将不胜感激。
wn <- ifelse((Output$x == 1) & (Output$y == "Group3 or Group4"), "Group4",Output$y)
data.frame(Output$x,Output$y,wn)
答案 0 :(得分:1)
ifelse
正在为您提供y
的因子代码。在分配之前,您需要将其强制转换为character
:
ifelse(...., "Group4", as.character(Output$y))