2013-07-03 60 views
0

当密钥具有多个组件时,我试图获取keyval对时出现卡住现象。假设所有键包含3个字符串组件,例如:{“I”“like”“Lucy”}或{“You”“hate”“Jimmy”}。具有多个组件的RHadoop密钥

这3个字符串的组合将是唯一键。我想要的mapreduce结果是{“I”“像”“露西”}或{“你”“讨厌”“吉米”}的记录数。

问题是我应该用什么样的结构来使用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的载体,假}。

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

我知道我能应付这个在Java中,但我需要在R的溶液和3串情况下仅仅是一个例子,该组件可以是一切都像数字,字符串,char等

回答

0

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

例如,

v1<-c("I","like","lucy") 
v2<-c("I","like","Jimmy") 
s1 <- paste(v1, sep = " ") 
s2 <- paste(v2, sep = " ") 
+0

好吧,我用这个方法,但它不是我真正想要的。我正在寻找更多的R-like解决方案。感谢您的回答! –

+0

我找不到任何其他的解决方案,也许这是什么脂肪酶使用。 –