嗨,我想创建一个新列,其答案基于我现有DT中的另一列。我想在数据表参数中使用函数以最大化效率。
smoked <- matrix(c("A","A","A","B","B","B","A","B","A"),ncol=3,byrow=TRUE)
colnames(smoked) <- c("Type","Name","cusip")
rownames(smoked) <- c("A","B","C")
smoked <- as.table(smoked)
smoked
[我将如何创建另一个在“名称”列中满足条件的情况下每次都响应“ B”的列。然后在每次不满足的情况下都为“非B”。
假设您有一个data.table
library(data.table)
smoked <- data.table(Type=c("A", "B", "A"), Name=c("A", "B", "B"), cusip=c("A", "B", "A"))
# > smoked
# Type Name cusip
# 1: A A A
# 2: B B B
# 3: A B A
并且您想基于Type
和Name
创建新列,然后
smoked$NewLine <- fifelse(smoked$Type == "A" & smoked$Name == "A", "B", "not B")
给你
> smoked
Type Name cusip NewLine
1: A A A B
2: B B B not B
3: A B A not B