我正在接受一个作为输入的字符串,然后将其与一个数字匹配,并将字符串作为输出返回。
示例:
my.string <- readline(prompt="Enter string 1: ")
print(my.string)
#[1] "coffee"
数据帧:
ID name
22 coffee
23 tea
24 milk
任务:
我需要转换咖啡&#39;因为我想将这个号码传入一个 功能
我如何得到它?
答案 0 :(得分:2)
我建议,如果您的data.frame
只有2列,那么使用named
向量将是一个值得考虑的选项。它提供了简单的子集方式。
在我看来,name
列在您的data.frame中是唯一的。如果是这样,那么您可以将name
列转换为rownames
,然后选择将更加简单。
#change the 'name' to rownames
rownames(df) <- df$name
df$name <- NULL
#Now selection will be much easier
df[my.string, "ID"]
#22
使用“命名矢量”:
itemVector <- c(22,23,24)
names(itemVector) <- c("coffee", "tea", "milk")
itemVector[my.string]
# coffee
# 22
数据:强>
df <- read.table(text =
"ID name
22 coffee
23 tea
24 milk",
header = TRUE, stringsAsFactors = FALSE)
答案 1 :(得分:1)
就像我的评论所说,这是相当简单的。
my.string <- readline(prompt="Enter string 1: ")
inx <- which(DataFrame$name == my.string)
DataFrame$ID[inx]
#[1] 22
数据。强>
DataFrame <- read.table(text = "
ID name
22 coffee
23 tea
24 milk
", header = TRUE)