当密钥有多个组件时,我在尝试获取keyval对时陷入困境。
假设所有键都包含3个字符串组件,例如:{“I”“喜欢”“Lucy”},或{“You”“讨厌”“Jimmy”}。
这3个字符串的组合将是唯一键。而我想要的mapreduce结果是{“我”“喜欢”“露西”}或{“你”“讨厌”“吉米”}的记录数。
问题是我应该为3弦键使用什么样的结构?
如果我使用list作为键:
LST1<-list(who="I", how="like", whom="Lucy")
LST2<-list(who="I", how="like", whom="Lucy")
LST1和LST2应该具有相同的键值,但问题是它们是不同的对象,因此列表结构不能用作键。
如果我使用vector作为键:
v1<-c("I","like","lucy")
v2<-c("I","like","Jimmy")
R将要做的是尝试比较同一位置的每个条目,并返回一个布尔值向量,在本例中为{TRUE,TRUE,FALSE}。
有什么建议吗?我可以使用什么样的结构?还是有任何棘手的方法来处理这个问题?
我知道我可以在Java中处理这个问题,但是我需要在R中使用解决方案。而3个字符串的情况只是一个例子,组件可以是数字,字符串,字符等所有内容。
答案 0 :(得分:0)
如何将字符串向量连接到一个新字符串并将其用作键?
例如,
v1<-c("I","like","lucy")
v2<-c("I","like","Jimmy")
s1 <- paste(v1, sep = " ")
s2 <- paste(v2, sep = " ")