gpt4 book ai didi

r - 在 R 中使用子集时如何忽略大小写

转载 作者:行者123 更新时间:2023-12-05 00:32:25 25 4
gpt4 key购买 nike

在R中使用子集函数时如何忽略大小写?

eos91corr.data <- subset(test.data,select=c(c(X,Y,Z,W,T)))

我想选择名称为 x、y、z、w、t 的列。我该怎么办?

谢谢

最佳答案

如果没有 subset() 也能活下去函数,tolower()功能可能工作:

dat <- data.frame(XY = 1:5, x = 1:5, mm = 1:5,
y = 1:5, z = 1:5, w = 1:5, t = 1:5, r = 1:5)
dat[,tolower(names(dat)) %in% c("xy","x")]

但是,这将返回 data.frame列按照它们在原始数据集中的顺序 dat : 两个都
dat[,tolower(names(dat)) %in% c("xy","x")]


dat[,tolower(names(dat)) %in% c("x","xy")]

将产生相同的结果,尽管目标名称的顺序已颠倒。

如果希望结果中的列按照目标向量的顺序排列,则需要稍微花哨一些。以下两个命令都返回 data.frame列按目标向量的顺序排列(即,结果将不同,列切换):
dat[,sapply(c("x","xy"),FUN=function(foo)which(foo==tolower(names(dat))))]
dat[,sapply(c("xy","x"),FUN=function(foo)which(foo==tolower(names(dat))))]

关于r - 在 R 中使用子集时如何忽略大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com