R 我应该使用什么函数返回字符向量?
我有一个数据集,看起来像这样:R 我应该使用什么函数返回字符向量?,r,function,if-statement,vector,R,Function,If Statement,Vector,我有一个数据集,看起来像这样: state.x77[1,] 人口收入文盲生活经验 3615.00 3624.00 2.10 69.05 15.10 41.30 20.00 地区 50708.00 as.numeric(state.x77[1,]) [1] 3615.00 3624.00 2.10 69.05 15.10 41.30 20.00 50708.00 我想要这样的东西: `[1] “亚利桑那”“华盛顿” 谢谢 您可以首先
state.x77[1,]
人口收入文盲生活经验
3615.00 3624.00 2.10 69.05 15.10 41.30 20.00
地区
50708.00
as.numeric(state.x77[1,])
[1] 3615.00 3624.00 2.10 69.05 15.10 41.30 20.00 50708.00
我想要这样的东西:
`[1] “亚利桑那”“华盛顿”
谢谢 您可以首先选择要应用的列
mean
和sd
。假设您想要以“P”
结尾的列。然后计算行sd
和行mean
,比较值并返回相应的基因符号
cols <- grep("P$", names(df))
df$gene_symbol[apply(df[cols],1,sd, na.rm = TRUE) > rowMeans(df[cols],na.rm = TRUE)]
您可以首先选择要应用的列mean
和sd
。假设您想要以“P”
结尾的列。然后计算行sd
和行mean
,比较值并返回相应的基因符号
cols <- grep("P$", names(df))
df$gene_symbol[apply(df[cols],1,sd, na.rm = TRUE) > rowMeans(df[cols],na.rm = TRUE)]
下面是一个purr
解决方案:
df[pmap_lgl(df %>% select(starts_with("L0")), ~sd(c(...))>mean(c(...))), "gene_symbol"]
这会将以L0
开头的所有列传递给一个函数,该函数比较sd
和mean
然后返回一个逻辑向量,该向量从数据帧中选择相关行。(这假设您的数据帧被称为df
)dplyr
是管道操作员和选择
功能所必需的。以下是purrr
解决方案:
df[pmap_lgl(df %>% select(starts_with("L0")), ~sd(c(...))>mean(c(...))), "gene_symbol"]
这会将以L0
开头的所有列传递给一个函数,该函数比较sd
和mean
然后返回一个逻辑向量,该向量从数据帧中选择相关行。(这假设您的数据帧被称为df
)dplyr
是管道操作符和选择
功能所必需的