我有一个名为“Control_Category”的变量的数据框。变量中有六个名字,为简单起见,我打算让通用:根据条件修改数据框中的字符串名称
df <- data.frame(Control_Category = c("Really Long Name One",
"Super Really Long Name Two",
"Another Really Flippin' Long Name Three",
",Seriously, It's a Fourth Long Name",
"Definitely a Fifth Long Name",
"Finally, This guy is done, number six"))
我使用这个稍作笑话。所以,虽然名称很长,但每个(1-6)的值都是一致的。在data.frame的这个特定字符向量中,有数百和数百个条目与这六个中的任何一个相匹配。
我需要做的是用短名称替换长名称。因此,在上述任何名称标识,用较短的版本替换名称,如:
一个 两个 三 四 五 六
我用“case_when”,它尝试了功能悲惨地失败了。任何帮助,将不胜感激。
根据问题从社区
项目的顺序并不重要的附加信息。没有指定1 - 6,刚好有6个,我做了6根愚蠢的长弦。琴弦本身很长。
因此,在任何地方出现“Super Really Long Name Two”的情况下,该值需要更新为类似“TWO”或“Short_Name”的那个近似于“TWO”的类型。测试和考试成绩”的简称将理想仅仅是‘审计’
在你的实际数据中,4和5总是由“第四”,“第五”表示,而1,2,3和6总是表示“一”,“两”,“三“,”六“? – neilfws
我想你要找的是因素:'df $ Control_Category < - factor(df $ Control_Category,levels = df $ Control_Category,labels = c(1:6))' – parksw3
@parksw3我认为在真实数据中,有超过6行,并且要替换的值不是有序的。 – neilfws