R中的特定字符(')出现问题

时间:2018-01-31 04:18:03

标签: r

问题

我一直致力于合并和标准化多个调查数据集。我遇到的一个问题是标点符号的使用不一致。有时,研究使用标准'进行编码,其他时间使用进行编码。

例如,法国象牙海岸的名称是科特迪瓦。不幸的是,数据在时间上没有统一编码。结果,当我运行交叉表时,我得到了这个:

country         2008      2009
-------         ----      ----
Cote d'Ivoire    498        0
Cote d’Ivoire     0        502

想要得到的是:

country         2008      2009
-------         ----      ----
Cote d'Ivoire    498       502

当我尝试将这些标准化为使用'而不是时,我绝对没有运气。它似乎没有做任何事情。这是我将使用的代码:

data$country[data$country == "Cote d’Ivoire"] <- Cote d'Ivoire

出于某种原因,我似乎无法弄明白这一点,这让我疯狂。有谁知道我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用gsub

将值替换为其他值
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ItemViewHolder> {
    private final RecyclerView mLst;
    //Runnable to scroll the recyclerview
    private ScrollRunnable mScrollRunnable;

    public ListAdapter(RecyclerView list) {
        mLst = list;
    }


    class ItemViewHolder extends RecyclerView.ViewHolder {

        private TextView mDescription;

        ItemViewHolder(View itemView) {
            super(itemView);
            mDescription = itemView.findViewById(R.id.lblDescription);
            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mDescription.setVisibility(mDescription.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
                    //Let the textView to lay it out first and then tell the recyclerview to scroll it to position
                    if (mScrollRunnable == null)
                        mScrollRunnable = new ScrollRunnable();

                    mScrollRunnable.setScrollToIndex(getAdapterPosition());
                    mLst.postDelayed(mScrollRunnable, 300);
                }
            });
        }
    }

    private class ScrollRunnable implements Runnable {

        private int scrollToIndex = 0;

        public void setScrollToIndex(int scrollToIndex) {
            this.scrollToIndex = scrollToIndex;
        }

        @Override
        public void run() {
            mLst.smoothScrollToPosition(scrollToIndex);
        }
    }
}

如果它不起作用,您可能需要使用双反斜杠

来转义特殊字符
data$country=gsub("’","'",data$country)

Remove pattern from string with gsub