我的问题涉及如何基于正则表达式的结果在R中创建一个数据框中的新变量。以下是最小化的数据示例:
df <- data.frame(model=c("Legacy 2.0 BG5 B4 AUTO","Legacy 2.0 BH5 AT","Legacy 2.0i CVT Non Leather","Legacy 2.0i CVT","Legacy 2.0 BL5 AUTO B4",
"Legacy 2.0 BP5 AUTO","Legacy 2.0 BM5 AUTO CVT"), CRSP=c(3450000,3365000,4950000,5250000,4787526,3550000,5235000))
df
model CRSP
1 Legacy 2.0 BG5 B4 AUTO 3450000
2 Legacy 2.0 BH5 AT 3365000
3 Legacy 2.0i CVT Non Leather 4950000
4 Legacy 2.0i CVT 5250000
5 Legacy 2.0 BL5 AUTO B4 4787526
6 Legacy 2.0 BP5 AUTO 3550000
7 Legacy 2.0 BM5 AUTO CVT 5235000
我想创建一个新变量'chassis',其值为相应'model'变量字符串的第三个元素,最终得到:
df
model CRSP chassis
1 Legacy 2.0 BG5 B4 AUTO 3450000 BG5
2 Legacy 2.0 BH5 AT 3365000 BH5
3 Legacy 2.0i CVT Non Leather 4950000 CVT
4 Legacy 2.0i CVT 5250000 CVT
5 Legacy 2.0 BL5 AUTO B4 4787526 BL5
6 Legacy 2.0 BP5 AUTO 3550000 BP5
7 Legacy 2.0 BM5 AUTO CVT 5235000 BM5
我需要找到一种方法来提取每行中的适当元素并将它们放入新变量中。任何帮助都将不胜感激。
%>%
中对相同的数据框进行其他前置和后续数据操作步骤,因此这个解决方案更加方便,因为我可以直接将其插入循环中。谢谢 @TylerRinker - amo