Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R数据帧中将行转换为列?_R_Machine Learning_Data Conversion - Fatal编程技术网

如何在R数据帧中将行转换为列?

如何在R数据帧中将行转换为列?,r,machine-learning,data-conversion,R,Machine Learning,Data Conversion,我希望我的所有行都转换为它们自己的列,这样所有内容最终都将在一行中。这就是我的数据帧现在的样子: track time UTM_WGS84.Longitude UTM_WGS84.Latitude 1 1 2015-10-14 23:59:55.711 5.481687 51.43635 2 1 2015-10-14 23:59:55.717 5.481689

我希望我的所有行都转换为它们自己的列,这样所有内容最终都将在一行中。这就是我的数据帧现在的样子:

   track                    time UTM_WGS84.Longitude UTM_WGS84.Latitude
1       1 2015-10-14 23:59:55.711            5.481687           51.43635
2       1 2015-10-14 23:59:55.717            5.481689           51.43635
3       1 2015-10-14 23:59:55.723            5.481689           51.43635
4       1 2015-10-14 23:59:55.730            5.481690           51.43635
5       1 2015-10-14 23:59:55.763            5.481691           51.43635
6       1 2015-10-14 23:59:55.804            5.481691           51.43635
7       1 2015-10-14 23:59:55.840            5.481692           51.43635
8       2 2015-10-14 23:59:55.882            5.481692           51.43635
9       2 2015-10-14 23:59:56.031            5.481693           51.43635
10      2 2015-10-14 23:59:56.041            5.481693           51.43635
11      2 2015-10-14 23:59:56.047            5.481693           51.43635
12      2 2015-10-14 23:59:56.053            5.481694           51.43635
13      3 2015-10-14 23:59:56.081            5.481695           51.43635
14      3 2015-10-14 23:59:56.121            5.481695           51.43635
15      3 2015-10-14 23:59:56.165            5.481695           51.43635
我不确定这是否可行,但这就是我希望列的外观:

time1.1 - UTM_WGS84.Longitude1.1 - UTM_WGS84.Latitude1.1 -  time1.2 - UTM_WGS84.Longitude1.2 - UTM_WGS84.Latitude1.2 - time2.1 -  UTM_WGS84.Longitude2.1 - UTM_WGS84.Latitude2.1
其中第一个数字是轨道,第二个数字是该轨道的行。 我知道这是一个奇怪的要求,但我正试图找到一种方法,将所有这些数据提供给机器学习方法,以识别行走模式

有什么想法吗?

查看此演示:

> df <- data.frame(track = c(2,1,5), A = c(1,2,3), B = c(100, 200, 300))
> df
  track A   B
1     2 1 100
2     1 2 200
3     5 3 300
结果:


看看这是否是您想要的:

df=matrix(1:12,ncol=3)
df
#     [,1] [,2] [,3]
#[1,]    1    5    9
#[2,]    2    6   10
#[3,]    3    7   11
#[4,]    4    8   12
c(t(df))
# [1]  1  5  9  2  6 10  3  7 11  4  8 12
作为数据帧

data.frame(t(c(t(df))))
#  X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12
#1  1  5  9  2  6 10  3  7 11   4   8  12

请以易于粘贴的形式提供数据,可能是预期结果的样子。您有一种奇怪的机器学习方法。谢谢,这是一个好的开始,但这是一个列表,我想要的是一个数据帧。所有这些数字都有自己的列吗?
> new.column.names <- c()
> for(i in 1:length(track)) {
     for(k in 1:length(column.name)) {
         str <- paste(column.name[k], track[i], sep = "")
         str <- paste(str, row.num[i], sep = ".")
         new.column.names <- c(new.column.names, str)
         }
     }
> new.column.names
[1] "track2.1" "A2.1"     "B2.1"     "track1.2" "A1.2"     "B1.2"     "track5.3"
[8] "A5.3"     "B5.3"
> new.df <- t(data.frame(ls))
> colnames(new.df) <- new.column.names
> rownames(new.df) <- 1
> new.df
  track2.1 A2.1 B2.1 track1.2 A1.2 B1.2 track5.3 A5.3 B5.3
1        2    1  100        1    2  200        5    3  300
df=matrix(1:12,ncol=3)
df
#     [,1] [,2] [,3]
#[1,]    1    5    9
#[2,]    2    6   10
#[3,]    3    7   11
#[4,]    4    8   12
c(t(df))
# [1]  1  5  9  2  6 10  3  7 11  4  8 12
data.frame(t(c(t(df))))
#  X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12
#1  1  5  9  2  6 10  3  7 11   4   8  12