当这些值显示在R中的其他列中时,如何用值填充列?

当这些值显示在R中的其他列中时,如何用值填充列?,r,R,我正在执行联合分析,现在我正在准备数据集,因此它适合于模型构建。我有一列标识受访者ID,一列表示选项集(Set\u ID),一列标识每个选项集的备选方案(Alternative\u ID),还有一列应表示实际选择(Selection)。该调查由12个选择集组成,因此对于一个人来说,有48行变量 我的问题是关于列选择。我想在Selection列中填入人们的选择,但是,调查结果的格式不同(见图) 因此,对于Set\u id==1,我希望R填充列Choiceset.1中表示的值,对于Set\u i

我正在执行联合分析,现在我正在准备数据集,因此它适合于模型构建。我有一列标识受访者ID,一列表示选项集(
Set\u ID
),一列标识每个选项集的备选方案(
Alternative\u ID
),还有一列应表示实际选择(
Selection
)。该调查由12个选择集组成,因此对于一个人来说,有48行变量

我的问题是关于列
选择
。我想在
Selection
列中填入人们的选择,但是,调查结果的格式不同(见图)

因此,对于
Set\u id==1
,我希望R填充列
Choiceset.1
中表示的值,对于
Set\u id==2
,我希望R填充列
Choiceset.2
中表示的值,这适用于每个受访者

我试着这样做:

cbc$Selection[(cbc$Set_id == 1)] <- cbc$Choiceset.1
cbc$Selection[(cbc$Set_id == 2)] <- cbc$Choiceset.2

cbc$Selection[(cbc$Set\u id==1)]下面的代码可能会解决这个问题。未测试,因为数据是以图像形式发布的,不是可复制粘贴的格式

for(i in unique(cbc$Set_id)){
  j <- which(cbc$Set_id == i)
  choice_col <- paste("Choiceset", i, sep = ".")
  cbc$Selection[j] <- cbc[j, choice_col]
}
for(唯一的i(cbc$Set_id)){

非常感谢你!