说我有2个
df
library(data.table)
df <- data.table(x = letters[1:2])
df_1 <- data.table(x = letters[3:4])
并且我想使用
set
在两个 df
中创建一个新列(但使用现有列作为输入)
names_df <- c('df', 'df_1')
for(i in names_df)
{
set(get(i), j = 'y', value = toupper(.$x))
}
上面会给我错误:
Error in toupper(.$x) : object '.' not found
我求助于这篇文章并使用了
.$
,但当然没有任何效果。任何帮助将不胜感激。
您可能想使用
get
for(i in names_df){
set(get(i), j = 'y', value = toupper(get(i)$x))
}
> df
x y
1: a A
2: b B
> df_1
x y
1: c C
2: d D