嗨,我想了解 R 阅读这行代码的方式
Hi I would like to understand the way R read this line of code
对象数据是一个包含多列的数据框,v 是包含 icd10 代码的列。
目的是存储一个逻辑值,如果满足这些条件,该逻辑值将 return 为真。
indication <- nchar(gsub("[^[:alpha:]]", "", data[[v]])) > 1 & !is.na(data[[var]])
因为当我打印指示时可以说数据[1984,96]。行号 1984 和列 96(v),值为“inc”。
我只是根据您所说的进行解读,希望对您有所帮助。
看来 ICD-10 代码是字符和整数的组合,用于以 AA00-AA00 的形式对疾病进行分类。了解您的数据框在该列中有一些 NA,以及一些您想要过滤掉的只有一个字母的其他输入。
我会假设你的数据框或多或少有这样的结构:
data <- data.frame(Patient=character(),
Age=integer(),
V=character(),
stringsAsFactors=FALSE)
for(u in 1:5){
data[u,] <- c(LETTERS[sample(1:26,1)],
sample(0:100,1),
paste0(LETTERS[sample(1:26,1)],
LETTERS[sample(1:26,1)],
sample(0:9,1),sample(0:9,1),"-",
LETTERS[sample(1:26,1)],
LETTERS[sample(1:26,1)],
sample(0:9,1),sample(0:9,1)))
}
data[3,3] <- NA
data[5,3] <- "h1 456"
head(data)
Patient Age V
1 N 23 EZ11-RO87
2 E 60 QE57-CJ49
3 H 73 <NA>
4 G 10 AQ75-UX16
5 Z 28 h1 456
对你的代码做一点小改动(注意列名的逗号/加上我假设 v 和 var 实际上是同一列),你会:
indication <- (nchar(gsub("[^[:alpha:]]", "", data[["V"]]))>1 & !is.na(data[["V"]]))
indication
[1] TRUE TRUE FALSE TRUE FALSE
代码将 return 一个布尔值向量,其长度等于数据框中的行数,如果单元格内没有 NA 并且字符有超过 1 个字母,则值为 TRUE
不确定这能否回答您关于如何 interpret/make 代码工作的问题,但无论如何我希望它能有所帮助。
对象数据是一个包含多列的数据框,v 是包含 icd10 代码的列。
目的是存储一个逻辑值,如果满足这些条件,该逻辑值将 return 为真。
indication <- nchar(gsub("[^[:alpha:]]", "", data[[v]])) > 1 & !is.na(data[[var]])
因为当我打印指示时可以说数据[1984,96]。行号 1984 和列 96(v),值为“inc”。
我只是根据您所说的进行解读,希望对您有所帮助。
看来 ICD-10 代码是字符和整数的组合,用于以 AA00-AA00 的形式对疾病进行分类。了解您的数据框在该列中有一些 NA,以及一些您想要过滤掉的只有一个字母的其他输入。
我会假设你的数据框或多或少有这样的结构:
data <- data.frame(Patient=character(),
Age=integer(),
V=character(),
stringsAsFactors=FALSE)
for(u in 1:5){
data[u,] <- c(LETTERS[sample(1:26,1)],
sample(0:100,1),
paste0(LETTERS[sample(1:26,1)],
LETTERS[sample(1:26,1)],
sample(0:9,1),sample(0:9,1),"-",
LETTERS[sample(1:26,1)],
LETTERS[sample(1:26,1)],
sample(0:9,1),sample(0:9,1)))
}
data[3,3] <- NA
data[5,3] <- "h1 456"
head(data)
Patient Age V
1 N 23 EZ11-RO87
2 E 60 QE57-CJ49
3 H 73 <NA>
4 G 10 AQ75-UX16
5 Z 28 h1 456
对你的代码做一点小改动(注意列名的逗号/加上我假设 v 和 var 实际上是同一列),你会:
indication <- (nchar(gsub("[^[:alpha:]]", "", data[["V"]]))>1 & !is.na(data[["V"]]))
indication
[1] TRUE TRUE FALSE TRUE FALSE
代码将 return 一个布尔值向量,其长度等于数据框中的行数,如果单元格内没有 NA 并且字符有超过 1 个字母,则值为 TRUE
不确定这能否回答您关于如何 interpret/make 代码工作的问题,但无论如何我希望它能有所帮助。