用R构造一个新变量

时间:2013-06-08 18:17:36

标签: r

我有一个数据框(称之为输出),带有两个变量(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)

1 个答案:

答案 0 :(得分:1)

ifelse正在为您提供y的因子代码。在分配之前,您需要将其强制转换为character

ifelse(...., "Group4", as.character(Output$y))
相关问题