-1

我有一个带有两个变量(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)
4

1 回答 1

1

ifelse正在为您提供 的因子代码ycharacter在分配它之前,您需要强制它:

ifelse(...., "Group4", as.character(Output$y))
于 2013-06-08T18:31:15.777 回答