我使用ffbase程序包向R导入了一个大数据集(约600万行),该程序包列出了巴西高中就读的人。原则上,我有2列:Id(学生ID号)和University(机构名称)。
我想创建一列-在我的示例中名为Group-将每所大学与其教育组相关联:
Id University Group
000001 Anhanguera Kroton
000002 Unopar Kroton
000003 Anhembi Laureate
000004 FMU Laureate
PS:我的数据集中没有关于教育团体的信息,但是,我已经获得了与每个大学对应的教育团体有关的信息。这样,我需要将此详细信息附加到我的数据中。
PS2:“大学”列的类别为ff_vector。
感谢您的贡献。
答案 0 :(得分:0)
如果网上论坛列表很长,这可能不是最快的方法,但是,
使用dplyr软件包中的mutate
:
data <- data.frame("Id" = 000001:000004, "University" = c("Anhanguera", "Unopar", "Anhembi", "FMU"))
data <- mutate(data, Group = as.factor(
ifelse(University %in% "Anhanguera", "Kronton",
ifelse(University %in% "Unopar", "Kronton",
ifelse(University %in% "Anhembi", "Laureate",
ifelse(University %in% "FMU", "Laureate", NA))))))
data
str(data)
我在这里用过大学,但只用ff_vector
代替。
如果您希望将“群组”保留为字符,请删除as.factor()
。