0

当密钥具有多个组件时,我在尝试获取 keyval 对时被卡住了。

假设所有键都包含 3 个字符串组件,例如:{"I" "like" "Lucy"} 或 {"You" "hate" "Jimmy"}。

这 3 个字符串的组合将是唯一键。而我想要的 mapreduce 结果是 {"I" "like" "Lucy"} 或 {"You" "hate" "Jimmy"} 的记录数。

问题是我应该为 3 个字符串键使用什么样的结构?

如果我使用列表作为键:

LST1<-list(who="I", how="like", whom="Lucy")
LST2<-list(who="I", how="like", whom="Lucy")

LST1 和 LST2 应该具有相同的键值,但问题是它们是不同的对象,因此列表结构不能用作键。

如果我使用向量作为键:

v1<-c("I","like","lucy")
v2<-c("I","like","Jimmy")

R 将尝试比较同一位置的每个条目,并返回一个布尔值向量,在本例中为 {TRUE, TRUE, FALSE}。

有什么建议吗?我可以使用什么样的结构?或者有什么棘手的方法来处理这个问题?

我知道我可以用 Java 处理这个问题,但我需要 R 中的解决方案。3 个字符串的情况只是一个例子,组件可以是数字、字符串、字符等所有内容。

4

1 回答 1

0

如何将字符串向量连接到一个新字符串并将其用作键?

例如,

v1<-c("I","like","lucy")
v2<-c("I","like","Jimmy")
s1 <- paste(v1, sep = " ")
s2 <- paste(v2, sep = " ")
于 2013-07-04T03:38:20.647 回答