对上一个问题抱歉,但我很困惑,并强调:S。在另一种语言中创建相同的功能
我中的R此功能:
shift <- function(d, k) rbind(tail(d,k), head(d,-k), deparse.level = 0)
并将该数据帧:
A B value
1 1 0.123
2 1 0.213
3 1 0.543
1 2 0.313
2 2 0.123
3 2 0.412
这个函数将改变这个数据帧(如果K = 1):
A B value
3 2 0.412
1 1 0.123
2 1 0.213
3 1 0.543
1 2 0.313
2 2 0.123
代码:
string[] data = File.ReadAllLines("test.txt");
decimal[,] numbers = new decimal[data.Length, 3];
for(int x = 0; x < data.Length; x++)
{
string[] temp = data[x].Split(' ');
for(int y = 1; y < temp.Length; y++)
{
numbers[x,y] = Convert.ToDecimal(temp[y]);
}
}
这就是我用来从文本文件中获取值的代码,但是我想创建将旋转此表的函数。
我想为Java或C#中的文本文件制作相同的函数。
这是怎么做到的?
我存储在一个二维数组在C#中的数据:decimal[,]
UPDATE:
的功能将旋转他们像以前的例子,我想做的事是这样的:
我有这个表:
A B value
1 1 0.123
2 1 0.213
3 1 0.543
1 2 0.313
2 2 0.123
3 2 0.412
我希望它成为(在移位的情况下,通过2):
A B value 3 1 0.543 1 2 0.313 2 2 0.123 3 2 0.412 1 1 0.123 2 1 0.213
您在C#或Java中使用什么数据结构来表示数据?该操作似乎将最后一行移动到第一行,并将每隔一行向下移动1。是吗? –
@David Heffernan:我使用普通表从文本文件中读取数据:string [] data = File.ReadAllLines(“test.txt”);将值拆分为'',然后使用:numbers [x,y] = Convert.ToDecimal(temp [y])将其转换为十进制数组;在for循环中 – smack
我可以建议你发布一些代码,这样我们可以看到有什么问题吗? –