【发布时间】:2020-12-01 01:05:46
【问题描述】:
我有 2 个关于在整个数据框中进行标记的问题:
我有一个患者的横截面数据集(每行是一个患者)和变量(每列是一个变量)。第一行是变量名,第二行是标签。例如第 1 行的 BMI 和第 2 行的体重指数。
问题 1:如何让 R 识别第二行是一个标签,而无需单独输入每个标签 age=Age 等?有数百个变量需要标记。也许在导入期间以某种方式?或者通过将标签分离到不同的数据框?除了为每个变量单独输入或将其放入仅包含变量名称和标签的单独数据集并使用来自R: Assign variable labels of data frame columns的匹配之外,我似乎找不到解决方案@
library(Hmisc)
var.labels = dat2
label(data) = as.list(var.labels[match(names(data), names(var.labels))])
label(data)
age sex
"Age in Years" "Sex of the participant"
问题 2: 如果我的数据中所有 0 值都是“否”并且所有“1”值都是“是”,我如何将所有 0 值标记为“否”而将所有 1 值标记为“是的”?除了单独的标签,我没有找到任何代码。
提前非常感谢!!!
这是它的迷你版: 投入: 结构(列表(患者 = c(“患者”、“T1”、“T2”、“T3”、“T4”、 “T5”,“T6”,“T7”,“T8”,“T9”,“T10”),变量名1 = c(“变量标签1”, “2”、“1”、“4”、“2”、“2”、“1”、“1”、“1”、“1”、“1”), variablename2 = c("变量标签 2" , “3”、“1”、“2”、“2”、“2”、“2”、“1”、“2”、“1”、“1”)), row.names = c(NA, -11L), class= c("tbl_df", "tbl", "data.frame"))
【问题讨论】:
-
请向我们展示您的数据是什么样的。使用
dput()并将该文件的内容粘贴到您的问题中,以便我们可以尝试一些事情来帮助您。此外,粘贴您可能尝试过的任何代码。阅读有关提供minimal reproducible example 的更多信息。 -
查看您的示例数据,您似乎错误地读取了数据。您的标题已成为第一行。如果您可以显示共享示例的预期输出,这也会很有帮助。