我想在Tibble中创建一个新列,该列确定每个移动性得分对索引得分的贡献。
我使用了以下代码:
#Add new column for each EQ5D measure contribution
mobility_contribution=if(combined_data$mobility==1){0}else
if(combined_data$mobility==2){0.058}else
if(combined_data$mobility==3){0.076}else
if(combined_data$mobility==4){0.207}else
if(combined_data$mobility==5){0.274}
第一行的迁移率得分为4(即输出应为0.207)。但是,即使迁移率得分发生变化,新列也会在所有后续行中重复0.207。
我该如何解决?
谢谢! 凯
答案 0 :(得分:1)
我不是R专家,但是我的直觉是尝试这样做:
mapping <- Vectorize(function(mobility){
return switch(mobility,0,0.058,0.076,0.207,0.274)
})
,然后将此功能应用于您的列(我不确定如何最好地对Tibble进行此操作,但这将是这样的:)
mobility_contribution <- lapply(combined_data$mobility, mapping)
一些链接:
答案 1 :(得分:1)
我希望嵌套ifelse可以使用
override func viewDidLoad() {
super.viewDidLoad()
if AppConstants.sharedInstance.centralManager == nil{
AppConstants.sharedInstance.centralManager = CBCentralManager(delegate: self, queue: nil)
}
else
{
centralManagerDidUpdateState(AppConstants.sharedInstance.centralManager!)
}
}
请尝试这个