替换R中数据框中的不同文本

时间:2017-05-18 07:22:41

标签: r dataframe

我有一个大数据框,其中一列有国家/地区的名称标签:

GBR
GBR
GBR
GBR
GBR
GBR
JPT
FIN
..

我想改变(在这个例子中我放在这里)GBR(英国)有关更具体信息的两个名称标签(例如IRE和ENG)。上半场(前三场)我希望他们成为IRE,下半场是ENG。所以,这是所需的输出:

IRE
IRE
IRE
ENG
ENG
ENG
JPT
FIN
..

我到目前为止找到的解决方案是用GBR替代某些东西,但我想把它分成两个"某些东西" (IRE和ENG),不仅仅是替换每一个GBR。有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

这是一个将“setosa”物种的一半替换为“set1”而将另一半替换为“set2”的示例:

dat <- iris 
dat$Species <- as.character(dat$Species)
dat[dat$Species=="setosa", "Species"] <- c(rep("set1", 25), rep("set2", 25))

答案 1 :(得分:1)

如果您愿意使用行索引来执行此操作,则可以使用以下代码:

# mimicking your data
df <- data.frame(MyColumn = c(rep("GBR", 6), "JPT", "FIN"))

# add levels to factor
levels(df$MyColumn) <- c(levels(df$MyColumn), "IRE", "ENG")

# change by row number
df$MyColumn[1:3] <- "IRE"
df$MyColumn[4:6] <- "ENG"