我是R的新手,所以请多多包涵!尝试做一个大学班的项目。
这是我的功能:
function(x) {
y = seq(from = 1, to = x, by = 1)
f = cat(paste("This is Banana", y, sep="\n"))
return(f)
}
通过一些搜索,我学会了添加cat
和sep="\n"
来插入换行符。但是它将它们插入错误的位置:
当我运行函数(例如x=3
)时,它会执行此操作,并将数字跳过到下一行
This is Banana
1 This is Banana
2 This is Banana
3 NULL
我希望它看起来像这样:
This is Banana 1
This is Banana 2
This is Banana 3
感谢任何意见,
答案 0 :(得分:3)
摆脱f
并移动paste
的结束括号(您也可以简化seq
):
myfun <- function(x) {
y <- seq(x)
cat(paste("This is Banana", y), sep="\n")
}
myfun(3)
This is banana 1
This is banana 2
This is banana 3
答案 1 :(得分:2)
Dan Y已经回答了您的问题,我只想提及您的代码为何给出不同的输出-这是因为Rect CalcWorkArea(Rect scrn, Rect tbar)
{
Rect work;
work.X = (tbar.X + tbar.W) % scrn.W;
work.Y = (tbar.Y + tbar.H) % scrn.H;
work.W = work.X + scrn.W - (tbar.W % scrn.W);
work.H = work.Y + scrn.H - (tbar.H % scrn.H);
return work;
}
函数使用paste
参数来确定用于分隔每个字符串的字符串给定的参数,而不仅仅是在给定的所有参数的末尾添加一次。
所以sep
实际上是在paste("This is Banana", y, sep="\n")
和This is Banana
之间插入换行符,这就是为什么数字出现在下一行而不是当前行的原因。