在 bash 中,可以使用感叹号将变量的值用作变量。请参阅此处的说明。这称为变量间接扩展。这可用于在代码中使用另一个变量来命名新变量。我想知道这是否可以在 R 语言中完成。
例如,假设我想为位于公司每个建筑物的员工创建一个数据框。
head(talent_by_building)
employee building
1 345618 Pi
2 195871 E
3 247274 Pi
4 929771 Pi
5 873096 E
6 665857 E
7 791656 E
8 133673 E
9 574058 C
10 208041 C
11 402100 C
12 167792 C
13 156971 C
并让“ ♠building ”成为我想要间接扩展的变量。所以我想使用建筑物名称作为该建筑物名称的新变量。我在这里使用 ♠ 字符,因为使用 ! (因为它在 bash 中的变量前面使用)引起了一些混乱。
completed_list <- c("") #Clear out vector
for(building in talent_by_building$building){
if(!(building %in% completed_list)){
♠building<-talent_by_building[talent_by_building$building %in% building,]
}
append(completed_list,building)
}
如果这在 R 中是可能的,那么预期的输出将是创建三个新的数据框,这些数据框为 for 循环找到的每个建筑物命名。圆周率、E 和 C:
head(pi)
employee building
1 345618 Pi
2 247274 Pi
3 929771 Pi
head(E)
employee building
1 195871 E
2 873096 E
3 665857 E
4 791656 E
5 133673 E
head(C)
employee building
1 574058 C
2 208041 C
3 402100 C
4 167792 C
5 156971 C
有没有办法使用建筑物名称作为新值的名称?所以代替♠building变量的值将被替换为变量名。我可以在 bash 中做到这一点,并且想知道这在 R 中是否可行。