R 将唯一值转换为新列,并检查所有其他值

R 将唯一值转换为新列,并检查所有其他值,r,dataframe,reshape,dcast,R,Dataframe,Reshape,Dcast,感谢@hrbrmstr,我为“”问题找到了一个很好的解决方案 但由于这一认识,出现了另一个问题: 现在我得到了以下数据结构 $Vorname : chr "Jan" "Jan" "Jan" "Jan" ... $ Nachname : chr "Aken" "Aken" "Aken" "Aken" ... $ ID : chr "1627" "1627" "1627" "1627" ... $ Fraktion : chr "Die Linke" "Die

感谢@hrbrmstr,我为“”问题找到了一个很好的解决方案

但由于这一认识,出现了另一个问题:

现在我得到了以下数据结构

 $Vorname   : chr  "Jan" "Jan" "Jan" "Jan" ...
 $ Nachname  : chr  "Aken" "Aken" "Aken" "Aken" ...
 $ ID        : chr  "1627" "1627" "1627" "1627" ...
 $ Fraktion  : chr  "Die Linke" "Die Linke" "Die Linke" "Die Linke" ...
 $ Reli      : chr  "" "" "" "" ...
 $ Geschlecht: chr  "Männlich" "Männlich" "Männlich" "Männlich" ...
 $ Auss_ord  : chr  "Auswärtiger Ausschuss" "Gremium nach § 23c Absatz 8 des Zollfahndungsdienstgesetzes" "Verteidigungsausschuss" "Unterausschuss Abrüstung, Rüstungskontrolle und Nichtverbreitung" ...
唯一一个实际变化的变量是“Auss_ord”,它包含不同的MPs佣金值

现在,我想要实现的是从当前的长版本切换到数据帧的宽版本

对于“Auss_ord”中的每个唯一值(特定文本字符串),应该有一个新列,并且还应检查另一个对象是否具有相同的值是否为“True”

所以

     Vorname   Nachname    ID  Fraktion               Reli Geschlecht                                                         Auss_ord
     <chr>      <chr> <chr>     <chr>              <chr>      <chr>                                                            <chr>
1      Jan       Aken  1627 Die Linke                      Männlich                                            Auswärtiger Ausschuss
2      Jan       Aken  1627 Die Linke                      Männlich      Gremium nach § 23c Absatz 8 des Zollfahndungsdienstgesetzes
3      Jan       Aken  1627 Die Linke                      Männlich                                           Verteidigungsausschuss
4      Jan       Aken  1627 Die Linke                      Männlich Unterausschuss Abrüstung, Rüstungskontrolle und Nichtverbreitung
5  Stephan     Albani  1769   CDU/CSU                      Männlich    Ausschuss für Bildung, Forschung und Technikfolgenabschätzung
6  Stephan     Albani  1769   CDU/CSU                      Männlich                                         Ausschuss für Gesundheit
7   Katrin Albsteiger  1770   CDU/CSU römisch-katholisch   Weiblich                                                 Schriftführer/in
8   Katrin Albsteiger  1770   CDU/CSU römisch-katholisch   Weiblich         Ausschuss für die Angelegenheiten der Europäischen Union
Vorname-Nachname-ID-Fraktion-Reli-Geschlecht-Auss\u-ord
1627年1月1日星期二
1627年1月2日第23c节第8节《移民法》
1627年1月3日星期五
1627年1月4日,阿肯·艾肯(Jan Aken 1627)与马恩利希(Männlich Unterausschuss Abrüstung,Rüstungskontrolle and Nichtverbreitung)联姻
5 Stephan Albani 1769 CDU/CSU Männlich Ausschuss für Tuldung,Forschung and Technikf olgenabschätzung
6斯蒂芬·阿尔巴尼1769基督教民主联盟/基督教团结会青年党für Gesundheit
7 Katrin Albsteiger 1770 CDU/CSU römisch katholisch Weiblich Schriftführer/in
8 Katrin Albsteiger 1770 CDU/CSU römisch katholisch Weiblich Ausschuss für de Angelegenheiten der Europeäischen Union
…应该变成

我试着像这样重塑手术

d1 <- dcast(df, Vorname ~ Nachname ~ ID ~ Fraktion ~ Reli, value.var="ausord")
d1你可以做:

dcast(df,Vorname+Nachname+ID+Fraktion+Reli+Geschlecht~Auss_ord,length)
length
将允许使用“Auss\u ord”生成的列的结果数据帧填充0/1

您可以执行以下操作:

dcast(df,Vorname+Nachname+ID+Fraktion+Reli+Geschlecht~Auss_ord,length)
length
将允许使用“Auss\u ord”生成的列的0/1填充生成的数据帧

重新创建数据 请注意,您的列名现在将很难操作。在传播之前,最好用一些简短的首字母缩略词来重命名
Auss\u ord

重新创建数据 请注意,您的列名现在将很难操作。在传播之前,最好使用一些简短的首字母缩写来重命名
Auss\u ord

这里是,数据帧比
str
的输出更好。这里是,数据帧比
str
的输出更好。
politik <- read.table(text="Vorname   Nachname    ID  Fraktion  Reli Geschlecht Auss_ord
      Jan       Aken  1627 'Die Linke'         NA             Männlich                                            'Auswärtiger Ausschuss'
      Jan       Aken  1627 'Die Linke'        NA              Männlich      'Gremium nach § 23c Absatz 8 des Zollfahndungsdienstgesetzes'
        Stephan     Albani  1769   'CDU/CSU'           NA           Männlich    'Ausschuss für Bildung, Forschung und Technikfolgenabschätzung'",
header = TRUE)
library(dplyr)
library(tidyr)
politik %>% 
    mutate(present = TRUE) %>% 
    spread(Auss_ord, present)

  Vorname Nachname   ID  Fraktion Reli Geschlecht
1     Jan     Aken 1627 Die Linke   NA   Männlich
2 Stephan   Albani 1769   CDU/CSU   NA   Männlich
  Ausschuss für Bildung, Forschung und Technikfolgenabschätzung
1                                                            NA
2                                                          TRUE
  Auswärtiger Ausschuss
1                  TRUE
2                    NA
  Gremium nach § 23c Absatz 8 des Zollfahndungsdienstgesetzes
1                                                        TRUE
2                                                          NA