引用 data.table 之外的向量来执行操作
Referencing vectors outside a data.table to perform operations
注意:我是 R 的新手,感谢您的帮助
以下是我要执行的一项复杂得多的任务的基本描述。我的 data.table 名为 preferences
,这是我定义的 2 个对象:
col <- "Pref_1"
name <- "Economic Commission for Latin America and the Caribbean \(ECLAC\)"
我要执行以下操作(1):
preferences[, "Pref_1"] <- gsub(x = preferences[, c("Pref_1")], pattern = "Economic Commission for Latin America and the Caribbean \(ECLAC\)", replacement = "A")
但是,我想使用我的对象 col
和 name
这样做 (2):
preferences[, col] <- gsub(x = preferences[, col], pattern = name, replacement = "A")
因为我在data.table之外定义了col
和name
,看来data.table不能在这个操作中使用它们。我如何告诉 R 将表达式 (1) 读作表达式 (2)?
我认为您正在尝试执行以下操作:
设置一个简单的例子table
preferences <- data.table(
Pref_1 = rep("Economic Commission for Latin America and the Caribbean (ECLAC)",3)
)
这是尝试替换任何东西之前的样子
Pref_1
1: Economic Commission for Latin America and the Caribbean (ECLAC)
2: Economic Commission for Latin America and the Caribbean (ECLAC)
3: Economic Commission for Latin America and the Caribbean (ECLAC)
现在设置你的列、模式和替换
col = "Pref_1"
name = "Economic Commission for Latin America and the Caribbean \(ECLAC\)"
replacement = "A"
执行替换(注意我将 col 括在括号中
preferences[,(col):=gsub(Pref_1, pattern = name,replacement = replacement)]
这是现在的样子
Pref_1
1: A
2: A
3: A
注意:我是 R 的新手,感谢您的帮助
以下是我要执行的一项复杂得多的任务的基本描述。我的 data.table 名为 preferences
,这是我定义的 2 个对象:
col <- "Pref_1"
name <- "Economic Commission for Latin America and the Caribbean \(ECLAC\)"
我要执行以下操作(1):
preferences[, "Pref_1"] <- gsub(x = preferences[, c("Pref_1")], pattern = "Economic Commission for Latin America and the Caribbean \(ECLAC\)", replacement = "A")
但是,我想使用我的对象 col
和 name
这样做 (2):
preferences[, col] <- gsub(x = preferences[, col], pattern = name, replacement = "A")
因为我在data.table之外定义了col
和name
,看来data.table不能在这个操作中使用它们。我如何告诉 R 将表达式 (1) 读作表达式 (2)?
我认为您正在尝试执行以下操作:
设置一个简单的例子table
preferences <- data.table(
Pref_1 = rep("Economic Commission for Latin America and the Caribbean (ECLAC)",3)
)
这是尝试替换任何东西之前的样子
Pref_1
1: Economic Commission for Latin America and the Caribbean (ECLAC)
2: Economic Commission for Latin America and the Caribbean (ECLAC)
3: Economic Commission for Latin America and the Caribbean (ECLAC)
现在设置你的列、模式和替换
col = "Pref_1"
name = "Economic Commission for Latin America and the Caribbean \(ECLAC\)"
replacement = "A"
执行替换(注意我将 col 括在括号中
preferences[,(col):=gsub(Pref_1, pattern = name,replacement = replacement)]
这是现在的样子
Pref_1
1: A
2: A
3: A