我下面有一个数据框df。我需要构建一个函数,以便基于第1列(即d)中的值,我需要在d5列中具有相应的值
_threads
所以基本上我需要构建一个名为“ class1”的函数。因此,对于class1(A&E),输出应为factor&factor,对于class1(A&D),输出应为factor&integer。希望你明白我的意思。我尝试使用下面的代码,但仍然出现错误。
s1
d d1 d2 d5
1 A&B A B factor&integer
2 A&C A C factor&factor
3 A&D A D factor&integer
4 A&E A E factor&factor
现在,如果我输入class1(s1,A&C)。我应该得到factor&factor。但是我没有得到这个
答案 0 :(得分:1)
如果您只想让函数将类似于列d
的变量与列d5
匹配,请尝试使用此函数
s1 <- data.frame(
d = c("A&B","A&C","A&D","A&E"),
d1 = c("A","A","A","A"),
d2 = c("B","C","D","E"),
d5 = c("factor&integer", "factor&factor", "factor&integer", "factor&factor"),
stringsAsFactors = F
)
class1 <- function(data,var) {
data[which(data$d==var),"d5"]
}
class1(s1, "A&C")