小编And*_*nes的帖子

在R中使用rep()函数

rep()在R中使用带有向量的functon:

c("x","y")[rep(c(1,2,2,1), times=4)]
Run Code Online (Sandbox Code Playgroud)

其输出为:

"x" "y" "y" "x" "x" "y" "y" "x" "x" "y" "y" "x" "x" "y" "y" "x"
Run Code Online (Sandbox Code Playgroud)

我不明白为什么x y y x在这里重复。如果使用rep(c(1,2,2,1), times=4),它将重复1 2 2 1四次。

为什么使用xy在这里?

r

3
推荐指数
1
解决办法
1万
查看次数

在交替索引上拆分字符串

我有一个类似于"HLeelmloon"两个单词交织在一起的字符串.如何将它分成两个单独的单词,分开交替的字母?

我可以使用strsplit()和一个for循环来为两个新的向量分配交替的字母,然后加入列表,但这似乎很长的啰嗦:

string <- "HLeelmloon"
split<-el(strsplit(string,''))

> split
[1] "H" "L" "e" "e" "l" "m" "l" "o" "o" "n"

word1<-c()
word2<-c()
for(i in 1:length(split)){
  if(i %% 2 == 1){
    word1<-append(word1, split[i])
  } else {
    word2<-append(word2, split[i])
  }
}

word1 = paste0(word1, collapse = '')
word2 = paste0(word2, collapse = '')

> word1
[1] "Hello"
> word2
[1] "Lemon"
Run Code Online (Sandbox Code Playgroud)

我的问题是它不是很优雅,如果我想将字符串分成N个不同的单词,它就不会很好.有一个更好的方法吗?

string split r

3
推荐指数
1
解决办法
79
查看次数

标签 统计

r ×2

split ×1

string ×1