我对整个数据帧中的标签有两个问题:
我有一个患者的横截面数据集(每行是一个患者)和变量(每列是一个变量)。第一行是变量名,第二行是标签。例如,第1行的BMI和第2行的体重指数。
问题1:如何让R识别第二行是一个标签,而不单独键入每个标签age=age等?有数百个变量需要标记。也许在进口的时候?或者通过将标签分离到不同的数据帧?我似乎找不到一个解决方案,除了为每个变量单独键入它,或者将它放入一个只有变量名和标签的单独数据集中,并使用match from R:Assign data frame列的变量标签
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值标记为“是”?我没有找到任何代码,除了个人标签。
非常感谢!!!
以下是它的迷你版本:dput:结构(列表(患者=c(“患者”、“T1”、“T2”、“T3”、“T4”、“T5”、“T6”、“T7”、“T8”、“T9”、“T10”),变量1=c(“变量标签”1","2","1","4","2","2","1","1","1","1","1"),变量2=c("变量标签2","3","1","2","2","2","2","1,2,1,1),row.names=c(NA,-11L),类=c(tbl_df,tbl,data.frame))
library(tidyverse)
string <-
"Body mass index, Age, Answer1, Answer2
BMI, Age, Answer1, Answer2
20, 27, 1, 0
29, 42, 1, 1"
# reading in column names (both short and long)
df_names <- read_csv(file = string, n_max = 2, col_names = F)
# reading in values
df_values <- read_csv(file = string, skip = 2, col_names = F) %>%
mutate(across(-(X1:X2), ~if_else(.x == 1, "yes", "no"))) # replacing 1 with yes and 0 with no
names(df_values) <- as.character(df_names[1,]) # assigning long names as names
names(df_values) <- as.character(df_names[2,]) # assigning short names as names
最近没有使用当前tidyverse动词来回答这个问题(R 4.1 所需的输出应如下所示。感谢您对此的任何帮助!
我有以下矩阵: 我只想删除id为3的行。请注意,当我使用时,它仍然保留,因为id本身是唯一的。
问题内容: 如何DataFrame基于Python Pandas中某些列的值从中选择行? 在SQL中,我将使用: 问题答案: 要选择列值等于标量的行,请使用: 要选择列值可迭代的行,请使用: 结合以下条件: 注意括号。由于Python的运算符优先级规则,绑定比和更紧密。因此,最后一个示例中的括号是必需的。没有括号 被解析为 这导致一个系列的真值是模棱两可的错误。 要选择列值不相等的行 ,请使用:
下面是我使用dplyr尝试的代码,
本文向大家介绍如何找到R数据帧中所有值的均值?,包括了如何找到R数据帧中所有值的均值?的使用技巧和注意事项,需要的朋友参考一下 如果数据框具有所有数字列,那么我们可能有兴趣查找该数据框中所有值的均值,但是由于数据框对象不是数字,因此无法直接完成此操作。因此,要查找R数据帧中所有值的均值,我们需要先将其转换为矩阵,然后使用均值函数。 示例 请看以下数据帧- 输出结果 使用均值函数查找均值- 示例 输
我有下表: