Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 替换变量中的值_R_Dataframe_Replace - Fatal编程技术网

R 替换变量中的值

R 替换变量中的值,r,dataframe,replace,R,Dataframe,Replace,我有R学校的数据,有94个变量。其中,我在一组变量中选择了3个变量进行分析: schools_set <- data.frame(schools$Schoolname, schools$SchoolGenderID, and School$) schools\u setschools$SchoolGenderID[schools$SchoolGenderID==1]尝试数据。表格方式:) 生成的性别列将不是数字,而是字符类型,因为初始列是字符类型。如果需要数字列,则创建新列: schoo

我有R
学校的数据,有94个变量。其中,我在一组变量中选择了3个变量进行分析:

schools_set <- data.frame(schools$Schoolname, schools$SchoolGenderID, and School$)
schools\u set
schools$SchoolGenderID[schools$SchoolGenderID==1]尝试数据。表格方式:)

生成的性别列将不是数字,而是字符类型,因为初始列是字符类型。如果需要数字列,则创建新列:

schools [ SchoolGenderID == "Male", "SchoolGenderNo" := 1]
schools [ SchoolGenderID == "Female", "SchoolGenderNo" := 2]

这里有一种方法可以在
dplyr

library(tidyverse)


schools_set <- schools %>%
                 select(Schoolname, SchoolGenderID) %>% # Make your subset 
                 mutate(
                   school_gender_id = ifelse(SchoolGenderID == 1, 
                                              "Male", "Female")
                 ) %>% 
                 mutate(
                   school_gender_id = as.factor(school_gender_id)
                 ) %>%
                 arrange(school_gender_id) # Order dataframe
库(tidyverse)
学校(单位)
选择(Schoolname,SchoolGenderID)%>%#生成您的子集
变异(
学校性别id=ifelse(学校性别id=1,
“男”、“女”)
) %>% 
变异(
学校性别id=as.factor(学校性别id)
) %>%
安排(学校性别id)#订购数据框
mutate
允许您修改变量并创建新变量。按顺序安排工作。如果顺序不正确,您可以改为执行:
arrange(desc(school\u gender\u id))
%%>%%
是一种称为“管道”的命令,意思是“执行此操作后,继续执行下一个命令”

我推荐本教程:
它是由R的创建者Hadley Wickham编写的。非常完整和有用的R编程介绍。如果您学习
tidyverse

schools$SchoolGenderID=c(“男”、“女”)[schools$SchoolGenderID]
,这两种代码都能很好地工作。您能告诉我,既然列中的所有男性都是向上的,然后女性是向下的,那么我该如何排序吗?就像我们在excel中所做的那样。
schools[order(schools$SchoolGenderID,discreating=TRUE),]
您的代码不完整。你能澄清一下你的意思吗?总的来说,这并不完全清楚。请为要使用的人员添加一个.schoolsNo data.table()函数。它是给予error@ImadAhmad如果没有,请更新R,并在代码开头的某个地方添加“library(data.table)”“library(data.table)中的错误:没有名为“data.table”的包”。我下载了。使用库(data.table)加载时,会显示上述消息。@如果没有,则需要安装该软件包。键入
install.packages(“data.table”)
并按enter键,然后重新加载包(即键入
library(data.table)
并按enter键。也许可以阅读一些有关RI尝试安装.packages(“data.table”)中包的介绍性资料,但它仍然给出错误消息。尽管我尝试使用install.packages(“data.table”),dependencies=TRUE)。
schools = data.table (schools)

schools [ SchoolGenderID == "Male", "SchoolGenderID" := "1"]
schools [ SchoolGenderID == "Female", "SchoolGenderID" := "2"]
schools = schools [order (Schoolname, SchoolGenderID)]
schools [ SchoolGenderID == "Male", "SchoolGenderNo" := 1]
schools [ SchoolGenderID == "Female", "SchoolGenderNo" := 2]
library(tidyverse)


schools_set <- schools %>%
                 select(Schoolname, SchoolGenderID) %>% # Make your subset 
                 mutate(
                   school_gender_id = ifelse(SchoolGenderID == 1, 
                                              "Male", "Female")
                 ) %>% 
                 mutate(
                   school_gender_id = as.factor(school_gender_id)
                 ) %>%
                 arrange(school_gender_id) # Order dataframe