【发布时间】:2020-04-17 02:00:52
【问题描述】:
我正在尝试根据某些条件从一组 480 个变量中创建一个名为 DRG 的新变量,如果条件为真,则新变量是二进制变量。如果数据框中的任何列的值为 060 或 191,则 DRG =1 else DRG =0;
for (i in 1:nrow(DATA_opioid)){
for (j in 42:480)
{ if (!is.na(DATA_opioid[i,j]) {
if ( (DATA_opioid[i,j]) == '060' | (DATA_opioid[i,j]) == '191'| (DATA_opioid[i,j+1]))==
'060' |(!is.na(DATA_opioid[i,j+1]))=='191')
{
DATA_opioid$DRG =1
}
else DATA_opioid$DRG =0
}
}
我一直无法获得有效的代码,尽管我在尝试其中一列时确实成功了。但是有 480 个变量都以前缀“RX”开头。非常欢迎任何有用的建议来解决这个问题。
for (i in 1:nrow(DATA_opioid)){
if (DATA_opioid$RX1CAT1[i] == "060" | DATA_opioid$RX1CAT1[i] == "191"){
DATA_opioid$DRG[i] =1
}
else DATA_opioid$DRG[i] =0
}
【问题讨论】:
标签: r function matrix dplyr tibble