Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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_String_Sorting_Dataframe - Fatal编程技术网

R 按字符串对数据帧排序

R 按字符串对数据帧排序,r,string,sorting,dataframe,R,String,Sorting,Dataframe,我有一个数据框,需要按字符串对其列进行排序 我这样试过: # character string a <- c("B", "E", "A", "D", "C") # data frame data <- data.frame(A = c(0, 0, 1), B = c(1, 1, 1), C = c(1, 0, 1), D = c(0, 0, 1), E = c(0, 1, 1)) data # A B C D E # 1 0 1 1 0 0 # 2

我有一个数据框,需要按字符串对其列进行排序

我这样试过:

  # character string
  a <- c("B", "E", "A", "D", "C")

  # data frame
  data <- data.frame(A = c(0, 0, 1), B = c(1, 1, 1), C = c(1, 0, 1), D = c(0, 0, 1), E = c(0, 1, 1))
  data
  # A B C D E
  # 1 0 1 1 0 0
  # 2 0 1 0 0 1
  # 3 1 1 1 1 1

  # sorting 
  data.sorted <- data[, order(a)]

  # order of characters in data
  colnames(data.sorted)
  # [1] "C" "A" "E" "D" "B"
#字符串
a
string[]str={“H”、“G”、“F”、“D”、“S”、“a”};
Array.Sort(str);
对于(int i=0;i
string[]str={“H”、“G”、“F”、“D”、“S”、“A”};
Array.Sort(str);
对于(int i=0;i
string[]str={“H”、“G”、“F”、“D”、“S”、“A”};
Array.Sort(str);
对于(int i=0;i
string[]str={“H”、“G”、“F”、“D”、“S”、“A”};
Array.Sort(str);
对于(int i=0;i
函数
order(a)
返回每个排序值所在的向量
a
中的位置。因此,由于“A”(排名第一)位于
A
的第三位,
A[1]
等于3。同样,“C”(排名第三)位于
a
的第五位,然后
a[3]
等于5

幸运的是,由于
R
使用括号的方式,您的解决方案实际上更加简单。如果您要求只查看名为“B”的列,您将得到:

> data[, "B", drop=FALSE]
  B
1 1
2 1
3 1
或者如果您想要两个特定的列

> data[, c("B", "E")]
  B E
1 1 0
2 1 1
3 1 1
最后,更一般地说,如果你有一个完整的向量来对列进行排序,那么你也可以这样做:

> data.sorted <- data[, a]

> data.sorted
  B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1

> all(colnames(data.sorted)==a)
[1] TRUE
>data.sorted data.sorted
B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1
>全部(colnames(data.sorted)==a)
[1] 真的
函数
order(a)
返回每个排序值所在的向量
a
中的位置。因此,由于“A”(排名第一)位于
A
的第三位,
A[1]
等于3。同样,“C”(排名第三)位于
a
的第五位,然后
a[3]
等于5

幸运的是,由于
R
使用括号的方式,您的解决方案实际上更加简单。如果您要求只查看名为“B”的列,您将得到:

> data[, "B", drop=FALSE]
  B
1 1
2 1
3 1
或者如果您想要两个特定的列

> data[, c("B", "E")]
  B E
1 1 0
2 1 1
3 1 1
最后,更一般地说,如果你有一个完整的向量来对列进行排序,那么你也可以这样做:

> data.sorted <- data[, a]

> data.sorted
  B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1

> all(colnames(data.sorted)==a)
[1] TRUE
>data.sorted data.sorted
B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1
>全部(colnames(data.sorted)==a)
[1] 真的
函数
order(a)
返回每个排序值所在的向量
a
中的位置。因此,由于“A”(排名第一)位于
A
的第三位,
A[1]
等于3。同样,“C”(排名第三)位于
a
的第五位,然后
a[3]
等于5

幸运的是,由于
R
使用括号的方式,您的解决方案实际上更加简单。如果您要求只查看名为“B”的列,您将得到:

> data[, "B", drop=FALSE]
  B
1 1
2 1
3 1
或者如果您想要两个特定的列

> data[, c("B", "E")]
  B E
1 1 0
2 1 1
3 1 1
最后,更一般地说,如果你有一个完整的向量来对列进行排序,那么你也可以这样做:

> data.sorted <- data[, a]

> data.sorted
  B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1

> all(colnames(data.sorted)==a)
[1] TRUE
>data.sorted data.sorted
B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1
>全部(colnames(data.sorted)==a)
[1] 真的
函数
order(a)
返回每个排序值所在的向量
a
中的位置。因此,由于“A”(排名第一)位于
A
的第三位,
A[1]
等于3。同样,“C”(排名第三)位于
a
的第五位,然后
a[3]
等于5

幸运的是,由于
R
使用括号的方式,您的解决方案实际上更加简单。如果您要求只查看名为“B”的列,您将得到:

> data[, "B", drop=FALSE]
  B
1 1
2 1
3 1
或者如果您想要两个特定的列

> data[, c("B", "E")]
  B E
1 1 0
2 1 1
3 1 1
最后,更一般地说,如果你有一个完整的向量来对列进行排序,那么你也可以这样做:

> data.sorted <- data[, a]

> data.sorted
  B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1

> all(colnames(data.sorted)==a)
[1] TRUE
>data.sorted data.sorted
B E A D C
1 1 0 0 0 1
2 1 1 0 0 0
3 1 1 1 1 1
>全部(colnames(data.sorted)==a)
[1] 真的

用于描述ADD Array.reverse();用于描述ADD Array.reverse();用于描述ADD Array.reverse();用于描述ADD Array.reverse();