在R中保存带有长字符串的.dta文件

时间:2017-01-18 12:51:56

标签: r string stata

我必须以Stata的.dta格式保存R数据集。     除其他数据外,数据集还包含一个包含长字符串的列(第3列)。

测试数据:

dplyr

导出到dta

 final Dialog dialog = new Dialog(context);
            // Include dialog.xml file
            dialog.setContentView(R.layout.your_custom_layout);
            // Set dialog title
            //dialog.setTitle("Custom Dialog");


            // set values for custom dialog components - text, image and button
            final EditText name = (EditText) dialog.findViewById(R.id.name_edit);


            dialog.show();

           /
            Button editButton = (Button) dialog.findViewById(R.id.editbtn);
            // if decline button is clicked, close the custom dialog
            editButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Close dialog

                    dialog.dismiss();

                }
            });

            final Button cancenbtn = (Button) dialog.findViewById(R.id.cancelbtn);
            // if decline button is clicked, close the custom dialog
            cancelnbtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Close dialog


                    dialog.dismiss();
                }
            });

会产生此警告消息: 警告信息:

r_data <- data.frame( ae= 1, be= 2, ce= "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet"
                       ,stringsAsFactors = FALSE )

此外,由于错误陈述,我无法在Stata(14 SE)中打开该文件:

library(foreign)
write.dta(r_data, file = "r_data.dta")

如何将更长的字符串保存为.dta文件? R-solution更喜欢因为我对Stata没有经验。

PS:通过CSV文件的间接路由不起作用,因为在Stata中导入时,生成的CSV文件对于我的小RAM来说太大了。

1 个答案:

答案 0 :(得分:1)

老问题,但值得关闭:

使用haven包以Stata 14格式写入dta文件。

library(haven)

r_data <- data.frame(ae = 1, be = 2, ce = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet",
                     stringsAsFactors = FALSE)

write_dta(r_data, "r_data.dta")