在下面的函数foo
中,参数long
接受二进制T/F
输入的 vector 。给定函数中名为data.frame
的{{1}},我希望函数添加一个名为out
的列,并用"long"
s填充T
输入,并T
自变量的F
输入的F
。另外,我希望函数添加一个名为"long"
的列,并为"short"
输入填充F
,为T
输入填充T
F
参数。
这是我尝试的没有成功的事情:
"long"
答案 0 :(得分:1)
你可以做
foo <- function(d, long){
data.frame(d, long = long, short = !long)
}
foo(d = 1:3, long = c(T, F,T))
# d long short
#1 1 TRUE FALSE
#2 2 FALSE TRUE
#3 3 TRUE FALSE
或者如果只想输出为"T"
和"F"
foo <- function(d, long){
out <- data.frame(d, long = long, short = !long)
transform(out, long = substr(long, 1, 1), short = substr(short, 1, 1))
}
foo(d = 1:3, long = c(T, F,T))
# d long short
#1 1 T F
#2 2 F T
#3 3 T F