在对以下单词进行以下操作之后,我想找到任何单词的中点:
>x = 'hello'
>y = strsplit(x, '')
>y
[[1]]
[1] "h" "e" "l" "l" "o"
>z = unlist(y)
>z
[1] "h" "e" "l" "l" "o"
Run Code Online (Sandbox Code Playgroud)
这样做可以:
> z[1]
[1] "h"
> z[4]
[1] "l"
Run Code Online (Sandbox Code Playgroud)
不同之处在于,z=unlist(y)当你尝试z[index]回来之前NA,例如:
> x = 'hello'
> strsplit(x, '')
[[1]]
[1] "h" "e" "l" "l" "o"
> x[1]
[1] "hello"
> x[2]
[1] NA
Run Code Online (Sandbox Code Playgroud)
无论如何,我想要做的是找到这种格式的单词的中点,以便输出类似于:
"l"
Run Code Online (Sandbox Code Playgroud)
在"你好"这个词的情况下.此外,在这个例子中,我们有一个包含5个字母的单词,可以轻松地将单个字符指定为中点,但对于像"bake"这样的单词,我想将"a"和"k"同时指定为中点.
如果我有一个x任意维度的矩阵,对于这个例子:
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 0 0
[2,] 0 0 0 0 0
[3,] 0 0 0 0 0
[4,] 0 0 0 0 0
[5,] 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
我想从某个列开始将0更改为1,然后向下移动一个,向右移动一个直到最后一个列.因此,如果我从列开始,[,3]将导致更改
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 1 0 0
[2,] 0 0 0 1 0
[3,] 0 0 0 0 1
[4,] 0 0 0 0 0
[5,] 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
我想也许是这样的x[,3:ncol(x)][1:ncol(x)] <- 1 …
我无法在朱莉娅找到一个已经制作的功能来计算Pearson的r所以我试图自己制作但是我遇到了麻烦.
码:
r(x,y) = (sum(x*y) - (sum(x)*sum(y))/length(x))/sqrt((sum(x^2)-(sum(x)^2)/length(x))*(sum(y^2)-(sum(y)^2)/length(x)))
Run Code Online (Sandbox Code Playgroud)
如果我尝试在两个数组上运行它:
b = [4,8,12,16,20,24,28]
q = [5,10,15,20,25,30,35]
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ERROR: `*` has no method matching *(::Array{Int64,1}, ::Array{Int64,1})
in r at none:1
Run Code Online (Sandbox Code Playgroud)