我是R的初学者。我有一系列有关已婚人士姓氏的数据。
Id_mar Wife Husband
1 1 Smith Johnson
2 2 Smith Carter
3 3 White Carter
4 4 Wang Smith
5 5 White Carter
我需要以方形矩阵的形式获得它(以便能够以各种方式操纵它)。 所以我想我必须首先施展它:
data.melt<-melt(dat.mar,id=c('Wife','Husband'))
dat.melt$value<-1
dat.cast<-cast(dat.melt, Wife~Husband, length)
Wife Carter Johnson Smith
1 Smith 1 1 0
2 Wang 0 0 1
3 White 2 0 0
然后将其转换为矩阵:
dat.mat<-as.matrix(dat.cast)
Carter Johnson Smith
Smith 1 1 0
Wang 0 0 1
White 2 0 0
但是现在,我如何准确地添加列和行,以便我得到一个方形矩阵,其行和列按正确的字母顺序排列?看起来像这样:
Carter Johnson Smith Wang White
Carter 0 0 0 0 0
Johnson 0 0 0 0 0
Smith 1 1 0 0 0
Wang 0 0 1 0 0
White 2 0 0 0 0
答案 0 :(得分:2)
根据预期的输出,我们可以使用<?php
header('Content-Type: text/html; charset=utf-8');
require_once("connect.php");
if(isset($_POST['id']))
$gelenid = $_POST['id'];
else
$gelenid = $_GET['id'];
//{
//$gelenid=$_POST["id"];
// $gelenid="36";
$sql_query="select * from places where ADDED_BY='$id'";
if(!mysql_query($sql_query))
{
//
}
else
{
$sonucDizisi['basliklar'] = array();
while($oku=mysql_fetch_array(mysql_query($sql_query)))
{
$temp['ilan'] = $oku['TITLE'];
array_push($sonucDizisi['basliklar'], $temp);
}
echo json_encode($sonucDizisi);
}
//}
?>
(在评论中提到的@David Arenburg)table
已转换的妻子&#39;和丈夫&#39;列,将factor
指定为两列的levels
ed sort
元素(&#39; Un1&#39;)
unique
或者我们可以使用 Un1 <- sort(unique(unlist(df1[-1])))
table(factor(df1$Wife, levels=Un1), factor(df1$Husband, levels=Un1))
# Carter Johnson Smith Wang White
# Carter 0 0 0 0 0
# Johnson 0 0 0 0 0
# Smith 1 1 0 0 0
# Wang 0 0 1 0 0
# White 2 0 0 0 0
中的mtabulate
。
qdapTools