我有一个字符串列表,如
myvar
[1] "VT" "AK" "AL2" "CA24" "NY12"
[6] "AZ6" "WY4"
Run Code Online (Sandbox Code Playgroud)
我想在所有包含3个字符的字符串中的第二个字符后插入字符"0",并在所有包含两个字符的字符串的末尾插入"01",以获得输出
myvar
[1] "VT01" "AK01" "AL02" "CA24" "NY12"
[6] "AZ06" "WY04"
Run Code Online (Sandbox Code Playgroud)
我认为我可以使用正则表达式前瞻和后瞻在一行中做到这一点,但我不能比这更进一步:
sub('(?<=.{2})(?=.{1})', '0', myvar, perl=T)
myvar
[1] "VT" "AK" "AL002" "CA024" "NY012"
[6] "AZ06" "WY04"
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激,
西蒙娜
我有一个看起来像这样的矩阵
mymat
A B C D E F
9 9 9 9 9 9
1 1 1 6 1 6
1 1 1 6 1 9
1 1 1 6 1 9
1 1 1 6 1 6
Run Code Online (Sandbox Code Playgroud)
我想按列计算每个数字的出现次数,并写一个单独的矩阵,如
n1 n6 n9
4 0 1
4 0 1
4 0 1
0 4 1
4 0 1
0 2 3
Run Code Online (Sandbox Code Playgroud)
其中每一行代表相应列的出现.我设法按列使用计数事件
require(plyr)
apply(mymat,2,count)
Run Code Online (Sandbox Code Playgroud)
但我获得了一个数据框列表,其中包含出现而非一个矩阵.任何帮助将非常感激