使用R如何将列中的数据从字母更改为单词
我的电子表格中有一列名为CourseType,该列中的值为O、OS或C。我想将这些字母改为在线、现场阅读 我如何使用R来实现这一点 谢谢使用R如何将列中的数据从字母更改为单词,r,R,我的电子表格中有一列名为CourseType,该列中的值为O、OS或C。我想将这些字母改为在线、现场阅读 我如何使用R来实现这一点 谢谢 Paul假设数据帧名为df,列名为CourseType,如果要替换的选项有限,则可以使用ifelse语句。这类似于excel中的嵌套IF-ELSE: df$CourseType_new <- ifelse(df$CourseType == "O", "Online", ifelse(df$CourseType
Paul假设数据帧名为df,列名为CourseType,如果要替换的选项有限,则可以使用
ifelse
语句。这类似于excel中的嵌套IF-ELSE:
df$CourseType_new <- ifelse(df$CourseType == "O", "Online",
ifelse(df$CourseType == "OS", "OnSite", "something else"))
df$CourseType\u new假设数据帧名为df,列名为CourseType,如果要替换的选项有限,则可以使用ifelse
语句。这类似于excel中的嵌套IF-ELSE:
df$CourseType_new <- ifelse(df$CourseType == "O", "Online",
ifelse(df$CourseType == "OS", "OnSite", "something else"))
df$CourseType\u new如果您想避免ifelse
级联(例如,在许多不同代码的情况下),您可以使用以下方法:
# Construct example data
df <- data.frame(CourseType = c("C", "O", "O", "OS", "OS", "C"), teacher = c("Joe", "Jane"), stringsAsFactors = FALSE)
df
# CourseType teacher
# 1 C Joe
# 2 O Jane
# 3 O Joe
# 4 OS Jane
# 5 OS Joe
# 6 C Jane
# Do recode by filtering the lines
df$CourseType[df$CourseType == "O"] <- "Online"
df$CourseType[df$CourseType == "OS"] <- "OnSite"
df
# CourseType teacher
# 1 C Joe
# 2 Online Jane
# 3 Online Joe
# 4 OnSite Jane
# 5 OnSite Joe
# 6 C Jane
# Note: The non-matching CourseTypes are left unchanged!
然后可以将NA
值(表示重新编码失败)设置为默认值,例如。g
df$CourseTypeRecoded[is.na(df$CourseTypeRecoded)] <- "(invalid code)"
df$CourseTypeRecoded[is.na(df$CourseTypeRecoded)]如果您想避免ifelse
级联(例如,在许多不同代码的情况下),您可以使用以下方法:
# Construct example data
df <- data.frame(CourseType = c("C", "O", "O", "OS", "OS", "C"), teacher = c("Joe", "Jane"), stringsAsFactors = FALSE)
df
# CourseType teacher
# 1 C Joe
# 2 O Jane
# 3 O Joe
# 4 OS Jane
# 5 OS Joe
# 6 C Jane
# Do recode by filtering the lines
df$CourseType[df$CourseType == "O"] <- "Online"
df$CourseType[df$CourseType == "OS"] <- "OnSite"
df
# CourseType teacher
# 1 C Joe
# 2 Online Jane
# 3 Online Joe
# 4 OnSite Jane
# 5 OnSite Joe
# 6 C Jane
# Note: The non-matching CourseTypes are left unchanged!
然后可以将NA
值(表示重新编码失败)设置为默认值,例如。g
df$CourseTypeRecoded[is.na(df$CourseTypeRecoded)] <- "(invalid code)"
df$CourseTypeRecoded[is.na(df$CourseTypeRecoded)]谢谢,我会试试这个。谢谢,我会试试这个。欢迎来到SO!请注意,问题应包含构成示例数据的R中的最小可再现示例。同时指出示例数据的预期结果。这使我们更容易回答(不浪费时间,并确保提供您需要的)。THX:-)您是否也(暗示)询问如何读取Excel文件或“只是”如何重新编码列值?欢迎来到SO!请注意,问题应包含构成示例数据的R中的最小可再现示例。同时指出示例数据的预期结果。这使我们更容易回答(不浪费时间,并确保提供您需要的)。THX:-)您是否(隐式地)询问如何读取Excel文件或“只是”如何重新编码列值?