我有一个csv文件,正在阅读我的程序。有人可以解释为什么
kfreq1=as.character(read.csv("set1.csv",header=FALSE,sep=","))
产生输出
[1] "c(35, 116, 103, 43, 76, 94, 102, 11, 108, 106, 80, 84, 1, 107, 21, 46, 50, 31, 19, 39, 30, 92, 88, 36, 22, 118, 38, 101, 12, 63, 60, 33, 91, 112, 9, 105, 52, 41, 18, 66, 56, 7, 69, 89, 74, 96, 3, 53, 57, 71, 100, 29, 113, 111, 58, 104, 62, 25, 59, 40, 83, 44, 110, 61, 68, 65, 67, 51, 85, 28, 13, 75, 17, 42, 115, 6, 8, 15, 78, 55, 73, 114, 47, 90, 34, 82, 95, 72, 97, 70, 4, 86, 117, 119, 45, 109, 26, 20, 81, 27, 2, 48, 98, 54, 64, 49, 87, 79, 120, 99, 10, 24, 23, 5, 37, 93, 14, 77, 32, 16)"
[2] "c(7, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)"
尚未
kfreq1=as.character(read.csv("set1.csv",header=FALSE,sep=",")$V1)
产生输出
[1] "environmental" "using" "software" "experience" "policy"
[6] "research" "skills" "candidate" "support" "statistical"
...
作为参考,文件格式如下
environmental,7
using,5
software,4
答案 0 :(得分:3)
我们可以使用read.csv
读取数据,如OP代码所示。
df1 <- read.csv("set1.csv",header=FALSE, sep=",")
如果我们需要将列转换为&#39;字符&#39;在colClasses
中使用read.csv
参数的类是一个选项,如果有其他class
例如,这也是有用的。 &#39;日期&#39 ;.另一种方法是在stringsAsFactors=FALSE
中指定read.csv/read.table
。默认方法是stringsAsFactors=TRUE
,因此通过不在factor
中指定stringsAsFactors
参数,任何非数字列都将转换为read.csv/read.table
类。
假设我们需要将单个factor
列转换为character
类,我们会使用df1$V1
或df1[,'V1']
或df1[['V1']]
或数字提取列列df1[,1]
的索引和as.numeric
换行(在此示例中,我们只有一个factor
列。)
df1$V1 <- as.character(df1$V1)
如果我们需要将所有factor
列转换为character
(一般情况下),我们可以在所有lapply
列factor
上使用df1[indx]
循环播放})在数据集中。
indx <- sapply(df1, is.factor)#create a logical index of 'factor' columns
df1[indx] <- lapply(df1[indx], as.character)
关于将&#39; V1&#39;中的单词大写的问题的第二部分?列,我们可以使用函数toupper
df1$V1 <- toupper(df1$V1)
df1$V1
#[1] "ENVIRONMENTAL" "USING" "SOFTWARE"
注意:这也适用于factor
类,但输出将为character
类。