如何在R.CSV数据中通过标题进行描述性选择?
我想通过标题描述选择数据。 下面是一个在.CSV数据中选择男性ID的示例。 您可以使用以下数据执行如何在R.CSV数据中通过标题进行描述性选择?,r,csv,R,Csv,我想通过标题描述选择数据。 下面是一个在.CSV数据中选择男性ID的示例。 您可以使用以下数据执行data[3]==“males”,但我希望执行data[Gender]==“males”以避免任何错误。 文件data.csv ID,Age,Gender 100,69,male 101,75,female 102,84,female 103,,male 104,66,female 最后一行伪代码所在的代码 data = read.csv("/home/masi/data.csv",header
data[3]==“males”
,但我希望执行data[Gender]==“males”
以避免任何错误。
文件data.csv
ID,Age,Gender
100,69,male
101,75,female
102,84,female
103,,male
104,66,female
最后一行伪代码所在的代码
data = read.csv("/home/masi/data.csv",header = TRUE,sep = ",")
str(data)
# PSseudocode
#data.Gender == "male"
#data[Gender] == "male"
伊莱
现在,我们有一个雄性的列表,我们想返回与这些雄性对应的ID
eliData <- data$Gender == "male"
# to return IDs corresponding to males
# Pseudocode
data$ID == eliData
eliData您可以使用R中的$
表示法来表示该值data$Gender==“male”
是您想要的。
要从行中获取id
s,其中“男性”
是性别,您可以这样做
males <- data$Gender == "male"
maleIDs <- data[which(males), ]$ID
males=20和@Masi你能举个例子说明你想要什么结果吗?我不完全理解您在这里提出的问题。@Masi更改了我的代码,以便为您提供更多您需要的信息want@Masi这就是你想要的吗?@MasiR
有一个隐式返回。我不太清楚为什么return
不起作用。这是一种解释。
getIDs <- function(age, gender) {
data <- read.csv("/home/masi/data.csv",header = TRUE,sep = ",")
gender <- data$Gender == gender
if (length(age) == 1) {
ages <- data$Age == age
} else {
ages <- (data$Age >= age[1] & data$Age <= age[2])
}
genderIDs <- data[which(gender), ]$ID
ageIDs <- data[which(ages), ]$ID
intersect(ageIDs, genderIDs)
}
# So if you called this as getIDs(c(20, 30), "male")
# You'd get the ids of all males with age >= 20 and <= 30