我有一个字符串向量.
d <- c("Mon","Tues","Wednes","Thurs","Fri","Satur","Sun")
Run Code Online (Sandbox Code Playgroud)
我希望以类似于此的方式将字符串"day"粘贴到矢量的每个元素上.
week <- apply(d, "day", paste, sep='')
Run Code Online (Sandbox Code Playgroud) 这看起来很简单,但无论我使用哪种*应用功能,正确的答案都不包括在内.我没有尝试任何其他包,因为它似乎*申请应该绝对能够做到这一点.
我的数据:
data = list(foo=c("first", "m", "last"), bar=c("first", "m", "last"))
Run Code Online (Sandbox Code Playgroud)
我认为应该有效:
lapply(data, FUN=paste)
Run Code Online (Sandbox Code Playgroud)
但它给了我:
$foo
[1] "first" "m" "last"
$bar
[1] "first" "m" "last"
Run Code Online (Sandbox Code Playgroud)
我想要:
$foo
[1] "first m last"
$bar
[1] "first m last"
Run Code Online (Sandbox Code Playgroud)
当然,我已经尝试了很多其他的东西:
> paste(data)
[1] "c(\"first\", \"m\", \"last\")" "c(\"first\", \"m\", \"last\")"
> paste(data, collapse = "")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")"
> paste(data, sep = "")
[1] "c(\"first\", \"m\", \"last\")" "c(\"first\", \"m\", \"last\")"
> paste(data, collapse = "", sep="")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")" …Run Code Online (Sandbox Code Playgroud) 我有两个结构相同的数据框(相同数量的行,列和相同的标题).我想要做的是将两者合并为一个具有逗号分隔列的数据框.
我知道如何使用这些虚拟数据帧,但在我自己的数据上使用它将非常麻烦.
这是我的虚拟数据帧,我的"真实"数据的标题是"1","2","3"等,而虚拟数据帧的标题是"X1","X2","X3"等.
> data1
X1 X2 X3 X4
1 1 2 3 4
2 2 3 4 5
3 3 4 5 6
> data2
X1 X2 X3 X4
1 8 9 13 14
2 9 10 14 15
3 10 11 15 16
Run Code Online (Sandbox Code Playgroud)
我想要的是什么:
>data3
new1 new2 new3 new4
1 1,8 2,9 3,13 4,14
2 2,9 3,10 4,14 5,15
3 3,10 4,11 5,15 6,16
Run Code Online (Sandbox Code Playgroud)
我是如何设法得到这个输出的.但是,对于我认为的大型数据集来说,它太麻烦了.
data1<- data.frame('1'=1:3, '2'=2:4, '3'=3:5,'4'=4:6)
data2<- data.frame('1'=8:10, '2'=9:11, '3'=13:15,'4'=14:16)
names(data1) <- c("1a","2a","3a","4a")
names(data2) <- …Run Code Online (Sandbox Code Playgroud) 给定data.table具有任意数量的列
dt = data.table( a = letters[1:5], b = rep('-', 5), c = LETTERS[1:5] )
# a b c
# 1: a - A
# 2: b - B
# 3: c - C
# 4: d - D
# 5: e - E
Run Code Online (Sandbox Code Playgroud)
以及任意format字符串,该字符串具有与列数相对应的多个占位符
format = '%s0%s1%s'
Run Code Online (Sandbox Code Playgroud)
如何在sprintf不使用所有列名显式调用的情况下应用?只提供data.table不会起作用的,因为sprintf在这种情况下需要3个参数。打电话sprintf(format, dt$a, dt$b, dt$b)是没有选择的,因为我既不知道format也不是data.table事先知道。同样sapply,行索引将不起作用,因为必须对保留其顺序的行子集执行操作。
idx = seq( 1, by = 2, to = 5 …Run Code Online (Sandbox Code Playgroud)